【发布时间】:2017-09-14 12:20:47
【问题描述】:
我想为 TableView Cell 内的 UIView 设置不同的圆角半径值和阴影效果,如下所示:
我的代码是:
cell.headerView.round(corners: [.topRight], radius: 35)
extension UIView {
func round(corners: UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect:self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.cgPath
self.layer.mask = mask
self.layoutIfNeeded()
}
}
这适用于 iPhone SE 模拟器,但不适用于 iPhone 6S 模拟器。
【问题讨论】:
-
我会自己创建路径,而不是使用
UIBezierPath(roundedRect:byRoundingCorners:cornerRadii:),它应该在每个角落应用相同的角落效果,我发现奇怪的是它适用于 SE 而不是 6S 而方法不应该' t产生你想要的效果。 -
我想设置右上角的视图更圆润,其余3个是相同的带有阴影效果的Corner Redis
标签: swift swift3 shadow rounded-corners roundedcorners-dropshadow