2016-10-20 12 views
0

スウィフト3 - Xcode 8 - iOS10ストーリーボードでのNibビューの表示ViewController

私はUIViewでxibファイルを持っています。私はViewControllerでこのビューをインポートします。

マイPlayer.xib

enter image description here

enter image description here

そして、私の絵コンテ結果: enter image description here

そして、私のクラス:

@IBDesignable 
class EmbedPlayerViewV2: UIView { 

    @IBOutlet weak var subTitleLbl: UILabel! 

    var view: UIView! 

    override init(frame: CGRect) { 
     super.init(frame: frame) 
     loadViewFromNib() 
    } 
    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     loadViewFromNib() 
    } 

    func loadViewFromNib() { 
     let bundle = Bundle(for: type(of: self)) 
     let nib = UINib(nibName: "Player", bundle: bundle) 
     self.view = nib.instantiate(withOwner: self, options: nil).first as! UIView 
     self.addSubview(self.view) 
    } 

    override func layoutSubviews() { 
     subTitleLbl.text = "LOADED" 
     // ... 
    } 
    // ... 
} 
+0

あなたの質問は何ですか? – Aaron

+0

私のビューに良いフレームがない理由を理解できません... –

+0

EmbedPlayerViewV2からビューコントローラのビューに制約を追加していません。 – Aaron

答えて

1

I私の問題を解決しました。

func loadViewFromNib() { 
    let bundle = Bundle(for: type(of: self)) 
    let nib = UINib(nibName: "Player", bundle: bundle) 
    self.view = nib.instantiate(withOwner: self, options: nil).first as! UIView 
    self.addSubview(view) 
    view.leadingAnchor.constraint(equalTo: self.leadingAnchor).isActive = true 
    view.trailingAnchor.constraint(equalTo: self.trailingAnchor).isActive = true 
    view.topAnchor.constraint(equalTo: self.topAnchor).isActive = true 
    view.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true 
} 

戦車Aaron

関連する問題