0

私はストーリーボードを使用しています.1つのビューコントローラーがあり、クリックすると別のビューコントローラーをモーダルに表示する必要があります. このコードを使用しようとしています

[self presentViewController:zoomV animated:YES completion:NULL];

空白の画面が表示されます。これが私が作成する方法です

zViewController *zoomV = [[zViewController alloc] init];
[self presentViewController:zoomV animated:YES completion:NULL];

私はこれを調査してみましたが、いくつかの答えは、ストーリーボードを使用し、rootviewcontroller を関連付けていないことに関係しています。だから私が持っているのは、最初のシーンにあるナビゲーションコントローラーです。そこから別のビューコントローラーに、それをルートビューコントローラーとして定義する関係をドラッグします。それで十分ですか?またはこれは無関係ですか?

4

2 に答える 2

4

ストーリーボードに zViewController があるため、 を使用して zViewController をインスタンス化する必要がありますUIStoryboard instantiateViewControllerWithIdentifier:。最初のビュー コントローラーでは、alloc/init を使用して zViewController を作成する代わりに、これを行います。もちろん、ストーリーボードで zViewController の識別子を設定します。

zViewController *zoomV = [self.storyboard instantiateViewControllerWithIdentifier:@"yourIdentifier"];
[self presentViewController:zoomV 
                   animated:YES 
                 completion:NULL];

また、zViewController をインスタンス化する必要なく、セグエを使用して直接実行することもできますが、それはあなた次第です。

2 番目の (小さい) コメントとして、ObjC で小文字で始まるクラスに名前を付けないでください :)。

于 2013-07-07T21:44:51.350 に答える
0

ストーリー ボードについては、以下のスニペットを参照してください。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
AddNameViewController *sfvc = [storyboard instantiateViewControllerWithIdentifier:@"AddNameViewController.m"];
[sfvc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:sfvc animated:YES completion:nil];
于 2013-11-19T17:51:35.993 に答える