swift3.0通过xib实现view

swift3.0通过xib创建view时,一直crash仔细查找了一下找到一个坑爹得点现在总结出来避免再走弯路

一、创建view类和对应的xib文件

二、关联xib文件(关键点,否则会crash)

一定是关联file's Owner上的custom class上。如果关联到view上就会报错

三、加载对应的xib界面(不废话直接上代码)



class test: UIView {
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        print("init")
        awakeFromNib()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        layoutSubviews()
    }
    override func layoutSubviews() {
        super.layoutSubviews()
        print("layoutSubviews")
        let view : UIView = Bundle.main.loadNibNamed("test",owner: self,options: nil)?.first as! UIView
        addSubview(view)
    }
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...