一个实时渲染的圆角视图

这是 iOS 开发中的一个常见要求,它总是必须纯粹在代码中完成(或使用图像 - 哎呀!)。现在,在 Interface Builder 中预览他的那种东西非常容易,没有理由不使用它。

这是代码: -

import UIKit

@IBDesignable
class MyRoundedView: UIView {

    @IBInspectable var radius: CGFloat = 8 {
        didSet {
            self.layer.cornerRadius = radius
        }
    }
    
    override func awakeFromNib() {
        self.layer.cornerRadius = self.radius
        self.layer.masksToBounds = true
    }
}

要使用此类,请将其添加到项目中,然后在 IB 中打开故事板并创建一个体面大小的普通 UIView。给它一个背景颜色,以便你可以看到它,然后导航到右侧 Utilities 面板中的 Identity Inspector,并将下拉列表中的类类型更改为 MyRoundedView

http://i.stack.imgur.com/MXBYU.jpg

执行此操作时,你应该会在模块下面看到第三个标签,上面写着 Designables,并且在更改为最新之前应该说更新片刻。这意味着 Xcode 已成功重新编译 MyRoundedView 的代码。

现在你可以打开属性检查器,你应该看到(可能在短暂停顿后)窗格顶部的新部分,标题为我的圆角视图,标题为 Radius 的新属性值为 8(因为那样)是我们在代码中设置的初始值)。这已出现在 Attributes Inspector 中,因为我们将其标记为 @IBInspectable

你现在可以将其更改为另一个数字,你应该实时看到圆角视图的圆角半径更新!

http://i.stack.imgur.com/Sx0pz.jpg