0

次の問題があります。ボタンではなく、コードを記述して、ビューから別のビューに移動したい。とりわけ、いくつかのボタンがあるビューがあります。それらの1つを押すと、if - elseが実行されます。そうでなければ、私は別のビューに行きたいです。

私はこれを試しました

GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];

[self.view removeFromSuperview];
gOver.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:gOver animated:YES];

これ

GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];

[self.view removeFromSuperview];
[self.view insertSubview:gOver.view atIndex:0];

この

GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];

[self.view removeFromSuperview];
[self.view addSubview:gOver.view];

しかし、何も機能しませんでした。何か案は ?

私もこれを試しました

GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];

[self.view setHidden:YES];
[self.navigationController pushViewController:gOver animated:NO];

例外をスローします

[self presentModalViewController:gOver animated:YES];

[self.view insertSubview:gOver.view atIndex:0];

[self.view addSubview:gOver.view];

前もって感謝します

4

2 に答える 2

1

ビューをカバーする[self.view removeFromSuperview];場合は、viewController の割り当てが解除される可能性がある呼び出しを行わないでください。presentModalViewController

GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];

// gOver.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:gOver animated:YES];

現在のビューを非表示にする必要がある場合は、次を使用します。[self.view setHidden: YES];

于 2012-07-23T14:11:28.820 に答える
0

「ボタンではなく、コードを記述して、ビューから別のビューに移動したい。」-ストーリーボードをプッシュするためにこれを参照しましたか、それともボタンアクションでそれを望まないという意味ですか?

上記のコードは正常に機能します:

-(IBAction)buttonAction:(id)sender
{
GameViewController *game = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil];
game.modalTransitionStyle = UIModalTransitionStylePartialCurl ;
[self presentModalViewController:game animated:YES];
}

また、iPadではなくiPhoneアプリを使用することをお勧めします。その場合は、modalViewの代わりにpopOverを使用する必要があります。

于 2012-07-23T14:52:58.297 に答える