我有标题视图,标题阴影视图和表格视图。标题视图具有清晰的背景。标题阴影视图具有浅蓝色背景颜色,高度仅为1px。表视图不会剪切到边界。
因此,此处的效果是当您向上滚动时,表视图内容将通过透明标题视图。
这里的问题是带阴影的视图位于表格视图内容之上,因此当您向上滚动时,会出现一条带阴影的蓝色细线。如果您要检查macy上的星星,您会看到细蓝线与内容重叠。
答案 0 :(得分:1)
如果是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)
答案 1 :(得分:0)
1.首先,您可以在tableview Cell中使用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
}
}