无法在捆绑包Xcode8中加载NIB
我遵循教程,但是当我尝试运行我的代码时,它崩溃了,因为它无法在捆绑包中加载NIB。无法在捆绑包Xcode8中加载NIB
这里是我的代码:
class BuyPremiumView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}
// MARK: - Private Helper Methods
// Performs the initial setup.
fileprivate func setupView() {
let view = viewFromNibForClass()
view.frame = bounds
view.autoresizingMask = [
UIViewAutoresizing.flexibleWidth,
UIViewAutoresizing.flexibleHeight
]
addSubview(view)
}
// Loads a XIB file into a view and returns this view.
fileprivate func viewFromNibForClass() -> UIView {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: String(describing: type(of: self)), bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
}
是否有人知道如何解决这一问题?
如果你想从笔尖加载观点,我认为最好的简单的方法是:
var yourView : YourView = NSBundle.mainBundle().loadNibNamed("myXib", owner: self, options: nil)[0] as! YourView
我希望这会帮助
你会在哪里输入?你会用我的一些代码替换这段代码吗? –
你可以使用'var yourView:YourView = NSBundle.mainBundle()。'将view = viewFromNibForClass()'替换成这行:loadNibNamed(“myXib”,owner:self,options:nil) YourView',yourView等于查看, –
不幸的是它也没有 –
好作为一个快速更新,我试着做在一个单独的项目相同的步骤,它在那里工作,但当我尝试在我目前正在进行的项目中完成时,它不起作用。 –