swift Xib的可加载视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift Xib的可加载视图相关的知识,希望对你有一定的参考价值。
class LoadableView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
fromNib()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
fromNib()
}
}
extension UIView {
@discardableResult
func fromNib<T: UIView>(withName name: String?) -> T? {
guard let name = name, let view = Bundle.main.loadNibNamed(name, owner: self, options: nil)?[0] as? T else {
return nil
}
fitted(view: view)
return view
}
@discardableResult
func fromNib<T: UIView>() -> T? {
let name = String(describing: type(of: self))
return fromNib(withName: name)
}
func fitted(view: UIView) {
self.addSubview(view)
view.frame = bounds
view.autoresizingMask = [.flexibleWidth, .flexibleHeight];
}
}
class DashBoardView: LoadableView {}
以上是关于swift Xib的可加载视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Objective-C 控制器中以编程方式加载用 swift 编写的自定义 XIB 视图
将 Xib 的大小调整为 swift 4 的屏幕大小
使用 Swift 3 Xcode 8 加载时缺少自定义 XIB
如何使 xib 子视图与 Swift 中的超级视图交互?
如何在swift中按下按钮从另一个xib文件加载另一个xib文件
从 Textfield.inputview 加载 xib UIView