使用故事板来掩盖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 } } } 

我证实这在一个操场上工作。