转自: https://www.jianshu.com/p/a34ce1812178
本文使用语言为 Swift, OC 实现有所不同, OC 实现请参考: [iOS] 用xib建立一个自定义view
1. 新建DemoView.swift 和 DemoView.xib
设置xib显示元素如图
2. 设置xib文件的file's onwer选项
设置xib文件的file's onwer
3. 绑定xib中的控件到swift文件中
绑定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上使用
这样,基本上写很少的代码,就能实现xib自定义view在任何地方的使用
最终效果
作者:清無
链接:https://www.jianshu.com/p/a34ce1812178
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。