Swift4 如何优雅的加载自定义的Nib文件
2018-04-21 本文已影响14人
船长_
Swift中一般加载自定义的Nib文件写法示例:
let header = Bundle.main.loadNibNamed("VistHeaderView", owner: self, options: nil)?.first as! VistHeaderView
优雅的写法如下
let header = VistHeaderView.loadFromNib()
只需要这个VistHeaderViewNib文件遵守一个自定义的协议
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
}
}