2016-11-10 2 views
1

Ich verwende Swift 3, ich habe Fehler xib Datei als SubviewaddSubview benutzerdefinierte xib Dateifehler

let bundle = Bundle(for: type(of: self)) 
    let nib = UINib(nibName: "CustomView", bundle: bundle) 
    let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView 
    view.frame = bounds 
    view.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    self.addSubview(view); 

enter image description here

Zugabe Kann mir bitte jemand helfen?

Antwort

0

In meiner benutzerdefinierten Ansicht Klasse i wie folgt umgesetzt:

import UIKit 

@IBDesignable class TestView: UIView { 

    override init(frame: CGRect) { 
     super.init(frame: frame) 
     loadViewFromNib() 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    func loadViewFromNib(){ 
     let view = Bundle.main.loadNibNamed("test", owner: self, options: nil)?.first as! UIView 
     print(view.backgroundColor ?? UIColor.blue) 
    } 
} 

dann in meinem Viewcontroller, wo ich diese benutzerdefinierten Ansicht hinzufügen möchte ich schreiben wie unten:

let view = TestView() 

und ich finde keinen Absturz.

0

Versuchen Sie dieses, es ist für eine rasche 3.

let view = Bundle.main.loadNibNamed("CustomView", owner: self, options: nil)?.first as! UIView 
    self .addSubview(view) 
+0

Danke, ich habe immer noch Fehler können Sie dies überprüfen: https://i.gyazo.com/3be4695ec1fea3b97534f7fadbf60538.png – Salah