2012-01-02 19 views
17

私は古いiOS4プロジェクトのUIViewControllerをいくつか持っています。インタフェースビルダーで作成された.xibを使用しています。iPhone IOS5ストーリーボード、カスタム.xibファイルでUIViewControllerを読み込む方法

私の新しいプロジェクトは、iOS5向けに作られたもので、ストーリーボードを使用しています。

私はストーリーボードにUIViewControllerを追加しようとしていますが、すでにのカスタムXIBを使用しています。インデントインスペクタ(インターフェイスビルダー)でコントローラのIDを設定しましたが、確かにわかりませんコントローラにカスタム.xibをロードするように依頼する方法

助けてください!

PS。私はこれまで、ストーリーボード目的のための「ラッパー」クラスを作成し、そのクラスに別のUIViewControllerを持たせることでこれを回避することができました。しかし、これはストーリーボード全体のポイントを破ります。

答えて

19

あなたはストーリーボードにXIBの内容をコピーして使用して、それをインスタンス化できます。

- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier 

をそれに識別子を設定した後。あなたはストーリーボードのインスタンスが必要な場合、あなたはそれをこのように得ることができます。

[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
+0

.xibのコンテンツをメインのストーリーボードファイルにコピーする方が簡単ではありませんか? – LordTwaroog

+0

それは私が彼に言っていたものです。ストーリーボードプロパティから任意のUIViewControllerからストーリーボードを取得することもできます。 –

+0

ラッパーとviewDidLoadの種類のクラップスをぶつけた後、私は回避したいと考えていたとしても、インターフェイスをコピーして手作業で接続することができてうれしいです。 –

-12

あなたのプロジェクトでは、xibとストーリーボードを混在させることはできません。それはもう一方です。私は恐れています。

+8

これは誤りです。あなたはxibsとstoryboardsを持つことができます。 – OlivaresF

1

マイクKの答えはfalseです。

XIBとストーリーボードを混在させても実質的にアレックスの問題は解決されませんが、は同じプロジェクト内では可能な限りです。

参照:https://stackoverflow.com/a/8516479/1309238 re:2番目のストーリーボードを読み込みます。

ターゲットサマリに「メインストーリーボード」を含めることをお勧めしますが、これを行う予定がありますが、最初にストーリーボードの代わりにXIBを読み込んだ場合は、コードを変更できますXIBの後にストーリーボードをロードするために上にリンクされています。

XIBからストーリーボードの途中に飛び込むことができるかどうかはわかりませんが、これはマイクの意図だったかもしれません。

関連する問題