使用故事板来掩盖UIView并给圆angular?
很多像这样的问题解释了如何以编程方式创build一个蒙版,并提供一个UIView的圆angular。
在Storyboard中有没有办法做到这一点? 只是要求,因为它似乎创造了故事板的圆angular在演示文稿和逻辑之间保持更明确的界限。
是的,我用了很多,但是这样的问题已经被多次回答了。
但无论如何在界面生成器。 您需要像这样添加用户定义的运行时属性:
layer.masksToBounds Boolean YES layer.cornerRadius Number {View's Width/2}
并启用
Clips subviews
结果:
您可以使用用户定义的属性在故事板中执行此操作。 select您想要舍入的视图并打开其“标识”检查器。 在“ 用户定义的运行时属性”部分中,添加以下两个条目:
- 键path:
layer.cornerRadius
,types:数字,值:(无论你想要的半径) - 键path:
layer.masksToBounds
,types:布尔,值:选中
你可能需要在你的视图的相应类文件(如果有的话)中导入QuartzKit
,但是我发誓我已经完成了它的工作。 你的结果可能有所不同
编辑:dynamic半径的例子
extension UIView { /// The ratio (from 0.0 to 1.0, inclusive) of the view's corner radius /// to its width. For example, a 50% radius would be specified with /// `cornerRadiusRatio = 0.5`. @IBDesignable public var cornerRadiusRatio: CGFloat { get { return layer.cornerRadius / frame.width } set { // Make sure that it's between 0.0 and 1.0. If not, restrict it // to that range. let normalizedRatio = max(0.0, min(1.0, newValue)) layer.cornerRadius = frame.width * normalizedRatio } } }
我证实这在一个操场上工作。