Xib的使用总结

单独创建Xib文件的使用

使用情况:在项目过程中创建某些控件的子类不能自动创建xib文件,例如UIView,这时需要将类与xib文件相关联使用。

①首先创建一个空白的xib文件:

屏幕快照 2017-05-27 下午3.25.18.png

②放入一个控件,(eg:放入一个View,此时的View默认是UIView的实例)并且在其上布局(eg:放入一个button)。

屏幕快照 2017-05-27 下午3.34.44.png

③关联类和xib文件中的控件,步骤:(给控件设置Class)-> (在代码中找到xib中的实例,并且使用)

image.png

使用代码如下:

//注意:需要指定frame,如果xib里面有多个控件,则可以用下标0,1...相继取出
//并且MyView中的required init?(coder aDecoder: NSCoder)方法会被调用
 override func viewDidLoad() {
        super.viewDidLoad()
        let myView = Bundle.main.loadNibNamed("PageView", owner: nil, options: nil)?[0] as! MyView
        myView.frame=view.bounds
        view.addSubview(myView)
            }

自带xib的Viewcontroller的使用

使用情况:针对于VC来说,创建时可以自带创建xib文件。

①创建一个VC(eg:MyViewController)

image.png

②在Xib中的View中布局,直接在代码中使用即可

代码如下:

//注意:此处可以直接使用init()方法,使用的也是xib中的实例。
//在MyViewController类中的init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?)方法会被调用
override func viewDidLoad() {
        super.viewDidLoad()
        let myVC=MyViewController.init(nibName: "MyViewController", bundle: Bundle.main)
        //let myVC=MyViewController.init();
        myVC.view.frame=view.bounds
        view.addSubview(myVC.view)
            }

特别注意

特殊情况:创建ViewController时没有勾选系统创建Xib,此时手动创建空Xib文件,在Xib中加入的需要为ViewController,而不是UIView,其余操作参考(单独创建Xib文件的使用)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 7、不使用IB是,下面这样做有什么问题? 6、请说说Layer和View的关系,以及你是如何使用它们的。 1.首先...
    AlanGe阅读 751评论 0 1
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,296评论 4 61
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,274评论 30 472
  • 动画应用 本链接仅供个人学习
    提升即效率阅读 219评论 0 0
  • 我有一句我想你 可是不知道说给谁
    一张首元阅读 201评论 0 1