这篇文章就介绍用xib去完成界面布局吧。
一个界面如果是很简单的布局格式(例如,登录界面,修改密码,昵称,界面),我们可以采用控制器xib的结构进行布局。
0423C15C-8FE7-4268-8AB5-1A4798DEF52C.png这种我们可以在创建Controller的时候勾选创建xib文件,这样我们首先需要在xib文件中添加组件,然后添加布局约束,至于布局约束和关联组件到控制器中,这儿就不做介绍了。
主要在弄好了视图后,怎么通过代码显示在界面上。
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: "YourController", bundle: Bundle.main)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
当然如果一个界面中有复杂的也有简单的界面时,而你想把其中的一部分界面用xib的方式,那么:
class func initialization() -> YourView {
let view = Bundle.main.loadNibNamed("YourView", owner: nil, options: nil)?.first as! YourView
return view
}
override func awakeFromNib() {
super.awakeFromNib()
setUp()
}
接着我们在控制器中用法是:
private lazy var headerView : YourView = {
() -> YourView in
let view = YourView.initialization()
return view
}()
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
headerView.size = CGSize.init(width: view.width, height: RS_SCALE_LENGTH(value: 310))
}
这样只需要把这个视图添加上去就可以了。
网友评论