2017-05-28 9 views
1

XcodeでSwiftを使用してストーリーボード内からxibをロードする方法を理解するのは難しいです。ViewControllerのuiviewをxibに置き換えます

私のメインストーリーボード(Called TabBarNav.storyboard)は、4つのアイテム(ホーム、ウェイト、食事、カロリー)を持つタブバービューコントローラーです。

対応するクラスファイルViewWelcome.swiftを持つViewWelcome.xibという別個のXIB UIViewを作成しました。

ホームアイテムは、[ホーム]タブバーの項目は私がViewWelcome.xib内のいずれかで既存のビューを交換したいタッチすると、コントローラは「ViewControllerHome.swift」

というクラスファイルを持って表示します。

ViewWelcome.xibではファイル所有者のViewControllerHomeを作成しましたが、アプリを実行すると、もともとストーリーボードを作成したときに[ホーム]アイテムで作成されたビューが表示されます。 (ストーリーボードとxibsのAミックス)私はSBが雑然となるdoesntのように、絵コンテから別々のように各セクション(ホーム、体重、食事とカロリーを)望んでいた:私はそれをこのようをしています

理由複数の人がインターフェースファイルを操作するときに、後でgitでマージ問題を回避することもできます。 Storyboard

答えて

1

最も簡単な方法は、&は、そうでなければこれは私のために働いているthis

0

を参照してくださいviewDidLoad

func viewDidLoad() { 

    super.viewDidLoad() 

    // create and add view from nib 
    if let viewWelcome = UINib(nibName: " ViewWelcome", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as? ViewWelcome { 
     viewWelcome.frame.size = self.view.size 
     self.view.addSubview(viewWelcome) 
    } 
} 

であなたのペン先のビューを追加作成することです。試してみる 。 。

let newView = Bundle.main.loadNibNamed("ViewWelcome", owner: self, options: nil)?.first as! ViewWelcome 
self.view = newView 
関連する問題