2016-07-14 5 views

Antwort

1
@IBDesignable class Menu: UIView { 

    var view: UIView! 

    override init(frame: CGRect) { 

     super.init(frame: frame) 
     xibSetup() 
    } 

    required init?(coder aDecoder: NSCoder) { 

     super.init(coder: aDecoder) 
     xibSetup() 
    } 

    func xibSetup() { 

     view = loadViewFromNib() 
     view.frame = bounds 
     view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight] 
     addSubview(view) 
    } 

    func loadViewFromNib() -> UIView { 

     let bundle = NSBundle(forClass: self.dynamicType) 
     let nib = UINib(nibName: "Menu", bundle: bundle) 
     let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView 

     return view 
    } 

    etc etc ... 
} 

Nib Name

Nib Identity Inspector

Dann für diese Ansicht eine UIView zu Ihrem Main.storyboard als mit einer Menu-Klasse im Identity Inspector hinzuzufügen.

+0

Warum fügen Sie die Ansicht, die Sie in der Schreibfeder erhalten haben, als Unteransicht hinzu, anstatt nur die Ansicht zurückzugeben? Wenn die in der NIB enthaltene Ansicht eine "Menü" -Ansicht ist, wird sie in eine Endlosschleife fallen. – redent84

Verwandte Themen