我正在尝试为我在故事板中创建的UITableViewCell创建一个圆角矩形。我在Xcode 7中使用Swift 2。我在原型单元格中有两个视图,topView和Bottom视图。我想让topView的顶角变圆,而bottomView的角变圆。在Swift中使用UIRectCorner的圆角矩形不起作用
在awakeFromNib(可以去别的地方更好更高版本):
...
self.topView.backgroundColor = UIColor.redColor()
self.bottomView.backgroundColor = UIColor.grayColor()
self.setMaskToView(self.topView, corners:UIRectCorner.TopLeft.union(UIRectCorner.TopRight))
self.setMaskToView(self.bottomView, corners: UIRectCorner.BottomLeft.union(UIRectCorner.BottomRight))
...
在单独的函数(基于回答另一个堆栈溢出后):
func setMaskToView(view : UIView, corners: UIRectCorner) {
let rounded = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: 10, height: 10))
let mask = CAShapeLayer()
mask.path = rounded.CGPath
view.layer.mask = mask
}
注意,我也尝试过[ .TopRight,.TopLeft]代替union(),基于各种其他堆栈溢出帖子。似乎没有任何改变。也绝望地清理并重新启动Xcode。这就是我得到:
如果任何人有可能是什么的任何想法,我将不胜感激。
谢谢。
看到我的答案在这里:http://stackoverflow.com/a/40222533/2594699 –