美文网首页
Xcode6 New Feature - 2.Live Rend

Xcode6 New Feature - 2.Live Rend

作者: 不思想者Alex | 来源:发表于2014-12-01 21:41 被阅读67次

    Xcode6中可以创建可以在 storyboard 中进行修改的自定义空间.

    @IBDesignable

    给控件所使用的class加上@IBDesignable前缀, 就可以让相应class中代码的修改, 马上更新到storyboard中.

    创建一个 UIView, 并让它的classCustomVierw.

    创建一个 UIVIew, class 为 CustomView

    CustomView的 class 前加上@IBDesignable前缀, 这样在drawRect(rect: CGRect)中的修改就会马上更新到Stroyboard中.

    import UIKit
    
    @IBDesignable class CustomView: UIView {
        override func drawRect(rect: CGRect) {
            UIColor.redColor().setFill()
            UIRectFill(bounds)
        }
    }
    
    通过@IBDesignable 对 View 进行更新

    @IBInspectable

    除了及时更新代码的修改之外, 我们还可以在 Inspect 中添加我们自定的属性调节选项.

    首先, 我们需要创建一个 closure属性borderWidth(也就是说, 属性的值是通过 block 中的计算得出的)在自定义属性之前添加@IBInspectable前缀, didSet方法会在属性被修改之后调用, 我们可以在didSet中对属性进行操作, 这里只是简单的赋值.

        @IBInspectable var borderWidth: CGFloat = 10 {
            didSet {
                //call after varable was set
                layer.borderWidth = borderWidth
            }
        }
    

    回到 Srotyboard 中, 我们会发现, 在对应的 UIView 的 Inspect 中多了一个borderWidth的设置项, 这样我们就可以在 storyboard 中对 UI 进行实时修改了.

    Inspect 中多了一个 Border Width 的设置项

    相关文章

      网友评论

          本文标题:Xcode6 New Feature - 2.Live Rend

          本文链接:https://www.haomeiwen.com/subject/geegtttx.html