感谢所有点击的人。
所以,我的想法是设置一个父视图并设置角半径并拖动一个绿色的子视图,将父视图剪辑设置为界限为“true”,我认为这将是成功,但不是。父视图确实有圆角,但儿子视图是矩形的,并保持圆角这样:
当它没用时,我使用UIBezierPath绘制角半径,如下所示:
let path: UIBezierPath?
switch style {
case .All :
path = UIBezierPath(roundedRect: bounds, byRoundingCorners: UIRectCorner.allCorners, cornerRadii: radiousView.bounds.size)
case .TopRightAndBottomRight :
path = UIBezierPath(roundedRect: radiousView.bounds, byRoundingCorners: [UIRectCorner.bottomRight,.topRight,.topLeft,.bottomLeft], cornerRadii: radiousView.bounds.size)
}
let maskLayer = CAShapeLayer()
maskLayer.frame = radiousView.bounds
maskLayer.path = path?.cgPath
radiousView.layer.mask = maskLayer
第一次,“。TopRightAndBottomRight”包括“[。topRight,.bottomRight]”,但“.bottomRight”无效。
所以我尝试测试“.allCorners”和“[。topRight,.topLeft,.bottomRight,.bottomLeft]”。
“。allCorners”已完成,但“[。topRight,.topLeft,.bottomRight,.bottomLeft]” 只有“[。topRight,.topLeft]”两个圆角。
“。allCorners”和“[。topRight,.topLeft,.bottomRight,.bottomLeft]”之间有什么不同?