如何让Swift中只有两个底角变圆?
let maskPathTop = UIBezierPath(roundedRect: tableView.bounds, byRoundingCorners: [.BottomLeft, .BottomRight], cornerRadii: CGSize(width: 5, height: 5.0))
let shapeLayerTop = CAShapeLayer()
shapeLayerTop.frame = tableView.bounds
shapeLayerTop.path = maskPathTop.CGPath
tableView.layer.mask = shapeLayerTop
我试过这段代码,但它没有用。任何帮助将不胜感激。
答案 0 :(得分:0)
当我遇到像你这样的任务时,我尝试了许多带代码的解决方案,但最快最简单的方法是将UIView全部四舍五入并将其附加到底部的表视图中。并使背景颜色相同。所以圆角只会在UIView。它将位于前层。
例如,您可以创建5个高度的UIView,并将其附加在UITableView的底部。
如果您有特定的UI设计,这个答案将无济于事。
答案 1 :(得分:0)
您只需使用以下方法构造bezierPath:
将度数角度转换为弧度:
#define degreesToRadians(x) ((x) * M_PI / 180.0)
您将需要4分:
将fillColor和strokeColor设置为您的CAShapeLayer对象。并且不要忘记在layoutSubviews方法
上更新图层框架我希望它会有所帮助