在OC时代,使用xib来管理界面很简单,但是swift下使用xib有点小复杂。
由于项目需要,有一个view需要重复使用,storyboard无法满足需求,使用xib更为简便。总结一下swift中使用xib的注意事项:
1.新建cocoa touch class(同时生成xib),xib的file‘s owner设置成对应controller(第一步和OC相同)
2.由于swift不会自动override父类的init方法,所以如果只是按照第一步来做得话,会报错,因此,我们必须手动添加init方法:
override init(nibName nibNameOrNil: String?,bundle nibBundleOrNil: NSBundle?) { super.init(nibName: nibNameOrNil,bundle: nibBundleOrNil) }
required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) }
以上两个方法必须重载,至于默认构造函数最好也重载(使用起来更加方便):
override init() { var nibName = String?("你的xib文件名字(不用加后缀)") super.init(nibName: nibName,bundle: nil) }