无法在捆绑包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 
} 

} 

是否有人知道如何解决这一问题?

+0

好作为一个快速更新,我试着做在一个单独的项目相同的步骤,它在那里工作,但当我尝试在我目前正在进行的项目中完成时,它不起作用。 –

如果你想从笔尖加载观点,我认为最好的简单的方法是:

var yourView : YourView = NSBundle.mainBundle().loadNibNamed("myXib", owner: self, options: nil)[0] as! YourView 

我希望这会帮助

+0

你会在哪里输入?你会用我的一些代码替换这段代码吗? –

+0

你可以使用'var yourView:YourView = NSBundle.mainBundle()。'将view = viewFromNibForClass()'替换成这行:loadNibNamed(“myXib”,owner:self,options:nil) YourView',yourView等于查看, –

+0

不幸的是它也没有 –