给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?