我有一个名为.xib
的{{1}}文件,我想将其用作名为ContentView
的类的视图,但我似乎无法加载它。
ContentView
我知道你可以使用以下方法加载class ContentView: UIView {
override init() {
super.init(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
fatalError("init(coder:) has not been implemented")
}
}
,但是当我这样做时会出错:
xib
我还将var contentViewXib: NSArray = NSBundle.mainBundle().loadNibNamed("ContentView", owner: nil, options: nil)
文件所有者设置为xibs
,并将其界面构建器中的自定义类设置为我想要使用它的类。
感谢任何帮助。感谢
答案 0 :(得分:0)
如果将File的所有者设置为ContentView,则XIB中的视图不是ContentView,ContentView可以检索的是普通的UIView。
在ContentView的init方法中,调用NSBundle.mainBundle()。loadNibNamed()就像你在问题中写的一样,然后输入:
self.addSubview(contentViewXib[0])
您还需要为此新视图设置约束或自动调整遮罩。
修改强> 另一种解决方案是直接选择视图(不是文件所有者)并将其类更改为ContentView。