1

Storyboardで描画するmodalView(viewControllerの場合もあります)を表示したいと思います。プログラムですべてを作成する必要はありません。全画面表示でなくてもこれを行う方法はありますか?

質問をする別の方法は、InterFaceBuilder /Storyboardの[self.view addSubView:mySubView]どこに描画されるのかということだと思います。mySubView

4

2 に答える 2

1

これを適切に行うには、ドキュメントのViewControllerの封じ込めを確認する必要があります。基本的にはaddChildViewController、ストーリーボードからviewControllerをインスタンス化した後、viewControllerのビューを現在のビュー階層に追加します。

ただし、それを機能させるには、次の手順を実行します。

UIViewController *childViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"<identifier you set in Interface Builder>"];
[self.view addSubView:childViewController.view];

これを「適切に」行う理由の1つは、自動ローテーションとプレゼンテーションのコールバックがサブビューコントローラーに送信されるようにするためです。

于 2012-08-23T14:20:42.383 に答える
0

object-cクラスのinitWithCoderメソッドをオーバーライドします。

- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
    [self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] objectAtIndex:0]];
}
return self;

}

于 2012-08-23T14:24:16.790 に答える