给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
}
}
}
链接地址: http://www.djcxy.com/p/44249.html
上一篇: Giving UIView rounded corners
下一篇: How to trigger the "cancel search" when using only a UISearchBar?