美文网首页
UIKit之IB_DESIGNABLE

UIKit之IB_DESIGNABLE

作者: 陈胜华 | 来源:发表于2016-08-03 16:22 被阅读12次
    1.IB_DESIGNABLE / IBInspectable 关键字解释

    “所见即所得”的思想,自定义的代码实时渲染到Interface Builder中。通过@IBDesignable和@IBInspectable两个指令来完成。通过@IBDesignable告诉Interface Builderg关联的类可以实时渲染到界面中,无论我们drawRect里面多么复杂,自定义有多复杂,Xib / Storyboard都可以把它编译出来,并且渲染展示出来。但是这个类必须是UIView或者NSView的子类

    IB_DESIGNABLE的工作原理:当使用IB_DESIGNABLE关键字后,Xib/StoryBoard会在不运行整个程序的情况下,把这个View代码编译跑一遍,由于没有程序上下文,所有的编译就只在这个view的代码中进行

    2. initWithCoder与loadNibName异同点

    1、 initWithNibName要加载的Xib的类为ViewController的类
    2、loadNibNamed要加载的Xib的类为NSOjbect

    它们的加载方式也不同:
    initWithNibName方法:是延迟加载,这个View上的控件是 nil 的,只有到需要显示时,才会不是 nil;
    loadNibNamed是立即加载,调用这个方法加载的xib对象中的各个元素都已经存在。

    3.注意点

    用这个特性最好是iOS8 + Swift,OC或者iOS7都会出现Failed to update而且无解

    相关文章

      网友评论

          本文标题:UIKit之IB_DESIGNABLE

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