一直很混淆這種用法促绵,這里記錄下來并分享給小白童鞋們
1. 新建DemoView.swift 和 DemoView.xib
設置xib顯示元素如圖
2. 設置xib文件的file's onwer選項
設置xib文件的file's onwer
3. 綁定xib中的控件到swift文件中
綁定xib中的控件到swift文件中
綁定xib控件的事件
4. 在swift文件中實現(xiàn)從xib的初始化加載
// 定義container為DemoView的子view, 以便更方便的封裝xib
private var container: UIView!
// 從storyboard上初始化時攒庵,會調(diào)用該方法
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上使用
storyboard直接使用
這樣嘴纺,基本上寫很少的代碼,就能實現(xiàn)xib自定義view在任何地方的使用
最終效果