1. 新建DemoView.swift 和 DemoView.xib
2. 设置xib文件的file's onwer选项

image.png
3. 绑定xib中的控件到swift文件中

image.png
绑定xib中的控件到swift文件中

image.png
绑定xib控件的事件
4. 在swift文件中实现从xib的初始化加载
// 定义container为DemoView的子view, 以便更方便的封装xib
private var container: UIView!
// 从storyboard上初始化时,会调用该方法
required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        xibSetup()
    }
private func xibSetup() {
        container = Bundle.main.loadNibNamed("DemoView", owner: self, options: nil)?.first as! UIView
        container.frame = bounds
        container.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        addSubview(container)
}
5. 在storyboard上使用

image.png

image.png