美文网首页
[iOS] 使用xib构造视图的4个基本注意事项

[iOS] 使用xib构造视图的4个基本注意事项

作者: BudSwift | 来源:发表于2018-11-07 13:39 被阅读0次

    过去的2年多都是纯代码实现UI的,现在需要补习xib和自动布局的知识了。

    xib简介

    xib应该是Xcode Interface Builder这一文件格式的缩写,它的前身是nib,是一种以xml形式描述界面构成和布局的方式,使用xib的好处主要是:

    • 快速拖取控件,所见即所得
    • 结合自动布局Autolayout方案,更轻松地实现不同屏幕的适配
    • 控件的属性和事件都可以直接拖线,省去了大量的构建子控件和事件逻辑的代码
    • 相比庞大的storyboard,xib对拆分独立的界面逻辑更加轻量级,适合多人开发

    几个使用的基本注意点:

    • 不会触发initWithFrame:或者init这两个代码编程的初始化方法
    • 会触发initWithCoder:awakeFromNib方法,因为原理上是从xml中解码后构建对象
    • 注意nib内的对象在initWithCoder:的解码过后即已经生成了对象,包括子视图 ,但是在awakeFromNib之前,连线IBOutlet没有建立起来所以无效,所以要在初始化使用连线的属性的话,逻辑应该在awakeFromNib中写
    • 对于使用xib的视图可以提供一个便利构造方法(如下)返回一个实例
    // 便利构造方法
    + (instancetype)someView {
        // 这里假设nib名称与类名相同
        return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self)
                                              owner:nil
                                            options:nil] firstObject];
    }
    

    加我微信沟通。


    相关文章

      网友评论

          本文标题:[iOS] 使用xib构造视图的4个基本注意事项

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