2012-01-20 3 views
1

私は(私のストーリーボードの)Interface BuilderにカスタムUIViewControllerを持っています。このビューをプログラマチックに別のビューに組み込んでいます。私が作成したビューコントローラのクラスを作成しましたが、サブビューとしてそのカスタムクラスをインポートして追加するだけでは動作しません。Interface Builderのカスタムメイドビューを別のビューに追加しますか?

いつものように助けてください。

答えて

2

UIStoryboardオブジェクトからビューコントローラのインスタンスをロードし、そのビューをサブビューとして追加する必要があります。このコードは次のようになります:

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
MyViewController* myVc = [storyboard instantiateViewControllerWithIdentifier:@"ident"]; 
[self.view addSubview:myVc.view]; 

あなたはIBでビューコントローラの識別子フィールドを設定し、「instantiateViewControllerWithIdentifier」メソッドにそれを渡していることを確認します。

+0

ああ、このトリックについては知らなかった。しかし、クラッシュやコンソールエラーが発生しました:未知の例外 'NSInvalidArgumentException'、理由: ' - [UIViewController setFrame:]:認識できないセレクタのためにアプリケーションを終了します。これは、View ControllerにsetFrameプロパティがないためですか? –

+0

心配はいりません。ビューコントローラ自体を渡すのではなく、単純にビューコントローラを作成し、ビュープロパティを返します。 –

関連する問題