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) } }