给UIView圆角
我的登录视图有一个子视图,它有一个UIActivityView和一个UILabel说“正在登录...”。 这个子视图的角落不是四舍五入的。 我怎样才能让它们变圆?
有没有办法在我的xib内部做到这一点?
尝试这个
#import <QuartzCore/QuartzCore.h> // not necessary for 10 years now :)
...
view.layer.cornerRadius = 5;
view.layer.masksToBounds = true;
注意:如果试图将圆角应用到UIViewController的视图,它不应该应用在视图控制器的构造函数中,而应该在-viewDidLoad ,在view实际实例化之后。
您还可以使用界面构建器的“ 用户定义的运行时属性”功能将关键路径layer.cornerRadius设置为一个值。 确保你包含了QuartzCore库。
这个技巧也适用于设置layer.borderWidth,但它不适用于layer.borderColor因为这需要一个CGColor而不是UIColor 。
您将无法在故事板中看到效果,因为这些参数是在运行时评估的。

现在,您可以使用@IBInspectable中的UIView中的swift类别(代码如图所示的代码)在故事板中显示结果(如果您使用的是类别,请仅使用cornerRadius而不是layer.cornerRadius作为关键路径。
extension UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
}

上一篇: Giving UIView rounded corners
下一篇: How to trigger the "cancel search" when using only a UISearchBar?
