如何在ios swift中的uiview中左右两侧设置阴影?
问题描述:
我搜索更多的时间和应用很多建议,但无法解决我的问题。如何在ios swift中的uiview中左右两侧设置阴影?
我想要在左侧,右侧和底部的影子。但快速3影子偏移只提供高度或宽度。我发现类似的答案见下面的链接它显示阴影左上方右影。我想要左右两边。
建议我的解决方案。 谢谢
答
这与提供的链接几乎是相同的任务,只需更改BezierPath
即可。
let block1 = UIView(frame: CGRect.init(x: 50, y: 50, width: 300, height: 300))
block1.backgroundColor = UIColor.red
block1.layer.masksToBounds = false
block1.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
block1.layer.shadowRadius = 5.0
block1.layer.shadowOpacity = 0.7
let path = UIBezierPath()
path.move(to: CGPoint(x: 0.0, y: 0.0))
// Move to center between two top points instead of bottom
path.addLine(to: CGPoint(x: block1.frame.size.width/2.0, y: block1.frame.size.height/2.0))
path.addLine(to: CGPoint(x: block1.frame.size.width, y: 0.0))
path.addLine(to: CGPoint(x: block1.frame.size.width, y: block1.frame.size.height))
path.addLine(to: CGPoint(x: 0.0, y: block1.frame.size.height))
path.close()
block1.layer.shadowPath = path.cgPath