0

XCode 4.4を使用しており、ストーリーボードを使用してアプリを作成しています。ビューのメソッドで別のビューに切り替えたい。メソッド内で、モーダルでストーリーボードのビューを切り替えるのと同じ機能を実現したいと思います。これまでのところ、次のコードを使用しています。

-(IBAction)xplus:(id)sender
{
    x++;
     if(x>30)
    {
           ViewController_2 *viewControllerx = [[ViewController_2 alloc] init];
         [self presentViewController:viewControllerx animated:YES completion:nil];
     }

 }

ビューが変更されることになっている場合、つまりxが30を超えると、必要なビューの代わりに黒い画面が表示されます。個人的には自分のコードは正しいと思いますが、なぜ黒い画面が表示されるのですか?

メソッド内で、モーダルによってストーリーボードのビューを切り替えるのと同じ機能を実現するにはどうすればよいですか?

4

1 に答える 1

0

.xib移動したいViewControllerでファイルを使用しておらず、ストーリーボードを使用していないため、メソッドが機能していません。

とにかく、タスクを実行するための簡単で効率的な方法を紹介します。

ステップ1:プロジェクトのストーリーボードにView Controller移動し、メソッドで移動する先、つまりViewController_2.Clickインスペクターアイコン(4番目のアイコン)をクリックします。識別子フィールドに名前を入力します。例:second

ViewController_2ステップ2:メソッドで次の行を使用して、メソッドを使用するインスタンスを作成し、initiateViewControllerWithIdentifierそれにモーダルします。

ViewController_2 *v2=[self.storyboard initiateViewControllerWithIdentifier:@"second"]; [self presentModalViewController:v2.animated:YES];

ViewControllerこれで、アプリは引数として指定されたものと同じ識別子を持つ(のインスタンスを作成する)に移動しますsecond

于 2012-11-09T18:54:55.953 に答える