2017-05-31 12 views
2

私はチュートリアルに従いましたが、コードを実行しようとすると、NIBをバンドルにロードできなかったためクラッシュしました。ここでNIBをバンドルXcode8にロードできませんでした

は私のコードです:

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

どこにこれを入力しますか?このコードを私のコードの一部に置き換えますか? –

+0

あなたはこの行を 'var view:view = NSBundle.mainBundle()。loadNibNamed(" myXib "、owner:self、options:nil)[0]として' let view = viewFromNibForClass() YourView '、あなたのビューはビューに等しい –

+0

残念なことにそれもdoesn –

関連する問題