在开发项目的时候总是需要创建自定义视图,并复用到多个VC,有时候自定义的视图会非常复杂,纯代码手写的话,既耗时又耗力,本人作为一个可视化编程的拥趸,非常喜欢使用Xib来加载自定义视图。
通常在创建VC的时候,可以选择同时创建Xib,

但是在创建UIView的时候,是无法同时选择Xib的

一般来说,创建View之后,在创建一个同名的Xib文件:CustomViewWithXIB.swift,CustomViewWithXIB.xib

关联Xib文件与Swift文件
设置Xib文件File's Owner的Class为CustomViewWithXIB

初始化
override init(frame: CGRect) {
super.init(frame: frame)
initialization()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initialization()
}
func initialization() {
let view = Bundle(for: type(of: self)).loadNibNamed("CustomViewWithXIB", owner: self, options: nil)?.first as! UIView
view.frame = bounds
addSubview(view)
}
然后就可以像创建UITableViewCell一样拖拽控件,赋值等。