1

私はiOS開発に比較的慣れていません。あるviewControllerから別のviewControllerに移動するために、ボタンクリックでモーダルセグエトランジションを使用します。これはゲームなので、ユーザーが画像をクリックしてアプリのメニューを本質的に移動できるようにしたいです。

複数の画像を表示するメインページがあります。1つをクリックすると、別のビューに移動できるようになります。現在、モーダルセグエでこれを行うと、touchesEndedイベントで奇妙な問題が発生します。たとえば、ページに3回移動すると、touchesEndedイベントが3回発生します。

私がこれを行うためのより良い方法はありますか、それとも私は基本的なことを見逃しているだけですか?

ありがとう

4

3 に答える 3

1

ストーリーボードを使用して、セグエを使用してVCをリンクしていると仮定します。

モーダルセグエは単純なトランジションには最適ですが、SBを介してリンクされているだけで達成できることを実際に制限しているようです。VCセグエに対して以下を含むIBActionを作成すると、セグエをより効率的に制御できるだけでなく、移行中に実際に何が起こっているかをより明確に把握できるようになることがわかりました。

-(IBAction)goToVc:(id)sender{
    //Other code to take place during the segue here

    //This will identify the Storyboard in use
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard"   bundle:nil];

    //This will identify the View Controller to switch to
    SecondViewController *vc2 = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewControllerID" ];

    [self presentViewController:vc2 animated:YES completion:NULL];
}
于 2013-01-11T00:59:23.683 に答える
1

はい、ナビゲーションコントローラーをルートビューコントローラーにして、それに応じてビューをプッシュする必要があると思います

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:YOUR_BASE_CONTROLLER]
self.rootViewController = nav;

これはアプリデリゲートにあります。

次に、アクションメソッドで

[self.navigationController pushViewController:secondViewController animated:YES]
于 2013-01-11T06:58:23.697 に答える
0

モーダルセグエを実行するたびに、UINavigationController以前使用していたものが失われます。あなたがする必要があるのはUINavigationController、あなたがモーダルセグエを実行しているビューにを埋め込むことです。

先日答えた質問をチェックして、私が話していることをより明確に視覚化できるようにしてください。

于 2013-01-11T00:51:16.887 に答える