swift3.0通过xib实现view

前端之家收集整理的这篇文章主要介绍了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)
    }
}

猜你在找的Swift相关文章