我正在嘗試爲我在故事板中創建的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 –