1

重複の可能性:
ストーリーボードを使用して 4.2 Xcode でカスタム モーダル セグエを作成する方法

したがって、現在のView ControllerにモーダルでプッシュしたいviewControllerがあります。ロードしようとしているビューが強調表示された、ストーリーボードのスクリーンショットを次に示します。 ここに画像の説明を入力

そこで、現在のビューと 2 番目のナビゲーション コントローラーの間にセグエを作成しました。これを「アラート」と呼びましょう。どのようなボタンにもセグエが関連付けられていないため、次の if ステートメント内でモーダルにビューを読み込もうとしています。

if([detector judgeSpeed:[ratio floatValue]])
{
    //push the new view here
}

どうすればいいですか?ある種のデリゲートまたは prepareForSegue メソッドを実装する必要がありますか?

4

4 に答える 4

5

セグエを使用することもできますが、別の方法を次に示します。

SomeViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeIdentifier"];
[self.navigationController presentModalViewController:controller animated:YES]

ストーリーボードでビュー コントローラーの識別子を設定することを忘れないでください。

詳細とサンプル プロジェクトはこちら.

于 2012-07-23T23:17:17.197 に答える
3

presentModalViewControllerは iOS 6 用のコードですが、iOS 9 用のコードが必要です。

于 2012-07-23T23:01:04.613 に答える
1

ストーリーボードを使用して 4.2 Xcode でカスタム モーダル セグエを作成する方法に関する回答が役立ちます。

TJの答え:

UIViewController *src = (UIViewController *) self.sourceViewController;
[UIView transitionWithView:src.navigationController.view duration:0.5
                   options:UIViewAnimationOptionTransitionFlipFromTop
                animations:^{
                    [src.navigationController popToViewController:[src.navigationController.viewControllers objectAtIndex:0] animated:NO];;
                }
                completion:NULL];

ティゲロの答え:

[self.sourceViewController presentModalViewController:self.destinationViewController animated:NO];

これらの回答のいずれも、この質問にも回答する必要があります。

于 2012-07-23T23:25:10.663 に答える
0

ストーリーボードで、ビュー コントローラー自体から新しいビュー コントローラーに Ctrl キーを押しながらドラッグして、デモ ビデオ キャプチャ ビュー コントローラーから新しいビュー コントローラーへのセグエを作成します。これを行うには、Demo Video Capture View Controller の下の黒いバーにある黄色のボタンを Ctrl キーを押しながらドラッグして、新しいビューに移動します。どの種類か聞かれると を選択modal。引き続きストーリーボードで、セグエをクリックし、右側の ID ナビゲーターで「アラート」として識別します。次に、.m ファイルに移動して、この実装を使用します...

if([detector judgeSpeed:[ratio floatValue]])
{
   [self performSegueWithIdentifier:@"alert" sender:self];
}
于 2012-07-23T23:17:36.697 に答える