私は少し複雑なことをしようとしていますが、可能なことはあるはずです。だから、ここにあなたのすべての専門家のための挑戦があります(このフォーラムはあなたたちの多くのパックです:))。
NavigationContoller
(my QuestionManagerViewController
)にロードしたいアンケート「コンポーネント」を作成しています。「コンポーネント」は「空」ですUIViewController
であり、回答する必要がある質問に応じて異なるビューをロードできます。
私がそれをしている方法は:
- Question1Viewオブジェクトを
UIView
サブクラスとして作成し、いくつかを定義しますIBOutlets
。 - (Interface Builderを使用して)
Question1View.xib
(ここに問題がある可能性があります)を作成します。私は両方のセットUIViewController
とUIView
クラスQuestion1Viewのものであると。 - コンセントをビューのコンポーネントにリンクします(IBを使用)。
私は次
initWithNib
のQuestionManagerViewController
ように私のをオーバーライドします:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
コードを実行すると、次のエラーが発生します。
2009-05-14 15:05:37.152 iMobiDines [17148:20b] ***キャッチされなかった例外 '
NSInternalInconsistencyException
'、理由によりアプリを終了します ' '、理由: '-[UIViewController _loadViewFromNibNamed:bundle:]
「Question1View」nibをロードしましたが、ビューアウトレットが設定されていませんでした。
viewControllerクラスを作成する必要なく、nibファイルを使用してビューをロードする方法があると確信しています。