2012-01-30 10 views
4

IBでインターフェイスを使用する場合は、常にUIViewControllerのベースが必要ですか、それともちょうどUIViewにスキップすることはできますか?XIBには常にView Controllerが必要ですか?

現在のところ、私はobj-cのデザインを全部やっていますが、これはもう少しです忙しい仕事

私はそれのうちUIViewを吸うためにUIViewControllerがとにかくあり使用する必要がある場合はそれがすべてだ場合、私はをしたい

obj-cにまとめてからからスタティックレイアウトを引き出したいだけです。

いずれかの提案はです。です。

+0

レイアウトを作成してXIBファイルに配置したいのですか?最後の2番目の文は私には分かりませんでした。 –

答えて

1

UIViewControllerがあり、すべてがとても簡単になりますが、経由xibsからオブジェクトを取得する方法もあるinitWithNib: bundle:便利な方法:

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"WhateverItsNamed" owner:self options:nil]; 

(とペン先配列は、ここに格納されているものは何でもオブジェクトに対応するオブジェクトが含まれていますXIBファイルで)。

0

iOS 5では、XIBはもう使用することはお勧めしません。代わりにストーリーボードを使用する必要があります。 そして、あなたの質問に簡単に答えるためには、すべてのトップレベルのビューでビューコントローラがそれを担当する必要があります。

すべてのサブビューはビューコントローラのアウトレットになり、そこから処理できます。

+0

トップレベル以外のビューでもnib/xibを使うことができますが、これはOPの意図だと思います。複雑なビュー階層を複数のnibに分割することで、ロード時間を大幅に短縮できます。 –

1

いいえ、UIViewControllerが必要ない場合はUIViewControllerは必要ありません。

-instantiateWithOwner:options: 

は、ペン先のコンテンツにアクセスするために:あなたはUINibを初期化した後

は、その使用しています。ペン先のルートオブジェクトをUIView(またはそのサブクラス)にします。 File's Ownerへの接続を計画している場合は、File's Ownerをコンテキストに適したクラスに設定する必要があります。

1

いいえ、UIViewControllerをXIBに関連付ける必要はありません。

まず、XIBにビューコントローラを追加しないでください。次に、NSNibまたはUINibのAPIを使用して、ペン先のトップレベルオブジェクトにアクセスします。そのため、ビューコントローラーを避け、NIBエディターで必要な構造を設定して、必要に応じてNIB。

関連する問題