美文网首页
Swift中自定义视图的xib和控制器视图xib

Swift中自定义视图的xib和控制器视图xib

作者: 怀心逝水 | 来源:发表于2019-03-09 16:14 被阅读0次
    timg (1).jpeg

    这篇文章就介绍用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))
        }
    
    

    这样只需要把这个视图添加上去就可以了。

    相关文章

      网友评论

          本文标题:Swift中自定义视图的xib和控制器视图xib

          本文链接:https://www.haomeiwen.com/subject/flaspqtx.html