我有NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs
个5个单元,如下所述。目的是让Table View
具有白色填充并且仅topRoundedBorderCell
和TopLeft
边框呈圆形,然后可以根据需要灵活地添加白色填充和方形角对于所需数量的选项,最后TopRight
只有bottomRoundedCornerCell
和BottomLeft
四舍五入的白色填充。创建一个带圆角的长白框的错觉,适合与一组相关的所有选项。
如下所示。
故事板细胞分解:
当我运行应用时:
但是,正如您在第二张图片中看到的那样,只有BottomRight
边框被舍入,其余边框保持平方。
我在2个单独的TopLeft
类别中使用Bezier路径roundedRect
方法,我通过UIView
分配给相应的views
。
热门边框视图:
Storyboard
底部圆角边框视图:
class TopRectangleRoundedCornersView: UIView {
override func awakeFromNib() {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [UIRectCorner.TopLeft , UIRectCorner.TopRight], cornerRadii: CGSize(width:10.0, height:10.0))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
self.layer.backgroundColor = UIColor.whiteColor().CGColor //white fill
}
}
答案 0 :(得分:1)
您需要在调整视图大小时调整路径。请参阅问题Is there a UIView resize event?中的答案以获得一些好的建议。
我最喜欢的是建议在视图的bounds
属性中添加didSet()。