Swift中一般加载自定义的Nib文件写法示例:
let header = Bundle.main.loadNibNamed("VistHeaderView", owner: self, options: nil)?.first as! VistHeaderView
优雅的写法如下
let header = VistHeaderView.loadFromNib()
只需要这个VistHeaderView
Nib文件遵守一个自定义的协议
protocol Nibloadable {
}
// 自定义View,遵守此协议,便可以用此方法加载Nib文件
extension Nibloadable where Self : UIView{
static func loadFromNib() -> Self {
return Bundle.main.loadNibNamed("\(self)", owner: nil, options: nil)?.first as! Self
}
}
网友评论