我有一个标题视图、一个标题阴影视图和一个表视图。标题视图有一个清晰的背景。标题阴影视图有浅蓝色背景颜色,只有1px高度。表视图没有被裁剪到边界。
因此,这里的效果是当您向上滚动时,表视图内容将通过透明的标头视图。
这里的问题是,带阴影的视图位于表视图内容的上方,所以当您向上滚动时,会有一条带阴影的细蓝色线。如果您检查梅西百货上的星星,您将看到与内容重叠的蓝色细线。

发布于 2018-01-19 05:22:25
如果是tableView单元格,则添加一个视图作为应用阴影的背景视图,并为该视图设置阴影。
试试下面的代码:
func setShadow(view:UIView){
view.layer.masksToBounds = false
view.layer.shadowOffset = CGSize(width: 0, height: 0)
view.layer.cornerRadius = 5 // set cornerRadius you want
view.layer.shadowRadius = 4.0 // set shadow Radius you want
view.layer.shadowOpacity = 0.5 // set shadow opacity you want
}设置阴影
setShadow(view:yourView)发布于 2018-01-19 05:23:23
1.首先,您可以在tableview单元格中使用UIView
2.然后在我提到的下面创建一个CardsView类
3.将UIView类名命名为Cardsview之后
//请粘贴到您的项目中..。
导入UIKit
@IBDesignable
类CardsView: UIView {
@IBInspectable var cornerRadius: CGFloat = 10 //replece 2
@IBInspectable var shadowOffsetWidth: Int = 0
@IBInspectable var shadowOffsetHeight: Int = 3
@IBInspectable var shadowColor: UIColor? = UIColor.black
@IBInspectable var shadowOpacity: Float = 0.5
override func layoutSubviews() {
layer.cornerRadius = cornerRadius
let shadowPath = UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius)
layer.masksToBounds = false
layer.shadowColor = shadowColor?.cgColor
layer.shadowOffset = CGSize(width: shadowOffsetWidth, height: shadowOffsetHeight);
layer.shadowOpacity = shadowOpacity
layer.shadowPath = shadowPath.cgPath
}}
https://stackoverflow.com/questions/48334388
复制相似问题