swift 通过XIB自定义View

OC中通过XIB自定义View

首先是创建一个类文件,当然是是继承想要自定义的控件,然后编写一个用于快速获取实例的类方法,代码如下:

+ (instancetype)someViewinitWithXIB{
    return [[NSBundle mainBundle]loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil].lastObject;
}

在获得实例对象之前需要做一些必要的设置的话通常是重写下面这个方法

- (void)awakeFromNib{
    [super awakeFromNib];
}

如果需要外部传一些参数的话通常将这些参数写成一个模型类,然后重写该模型类的set方法即可,如下

- (void)setModel:(Model *)model{
    _model = model;
   //根据模型做一些设置

}

然而,初学swift,想通过OC的方法模仿代码最终得到下面可行的代码:

static func customView() -> CustomView{
        return  Bundle.main.loadNibNamed(String(describing: self), owner: nil, options: nil)?.last as! CustomView
    }

也可以重写awakeFromNib来做一些设置,甚至可以修改上面的类方法做一些设置

大家都是怎么写的? 话说Swift 的awakeFromNib会调用两次这样没问题吗?

请各路大神指教

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • 藏在你手机里的艺术范儿 作为一个有点文艺病的青年,自从智能手机屏幕分辨率越来越高,图片显示越来越清晰,我手机里就塞...
    太阳是我追热的阅读 647评论 5 6
  • 转换构造函数:转换构造函数的作用是将某种类型的数据转换为类的对象,当一个构造函数只有一个参数,而且该参数又不是本类...
    yangqi916阅读 188评论 0 0
  • ………
    不见轻帆阅读 315评论 3 4
  • 不是风,不是芦苇荡, 只是手机没电 一朵花的洁白 像电线杆一样站得笔直。 不是火苗,不是麦浪, 我对生命投以谦卑的...
    冰叶草阅读 278评论 0 4