web-dev-qa-db-ja.com

performSegueWithIdentifier:sender :?の使用方法

私は新しいiOS開発者であり、現在iPhone用のゲームを作成しています。Objective-Cで作成しています。

この質問はおそらく答えるのは非常に簡単でしょうが、私は他のどこにもそれを見つけることができませんでした。私はこのアプリでストーリーボードを使用していますが、ユーザーがボタンを押して次のストーリーボードに移動するときにうまく使用していましたが、このためにセグエが自動的に発生する必要がある場合、これを達成する方法について完全に困惑しています。

アプリの起動時に約5秒間ロゴを表示し、メインメニューが表示されるようにします。私はperformSegueWithIdentifier:sender:を使用してこれを達成しようとしていますが、Appleのドキュメントを参照しましたが、このメソッドの使用方法に関する私の質問には本当に答えていません。

私はこのメソッドが何のために使用されているかを知っていますが、それを正しく使用するために入力する必要があるコードだけではありません。

また、完全に間違った方法を使用している場合、または私がやろうとしていることを達成するためのはるかに簡単な方法がある場合、それは大歓迎です。任意のヘルプが便利です。前もって感謝します

13
OLZ1

アプリの一種の「スプラッシュスクリーン」を作成するには、ストーリーボードでそのビューを作成し、エントリポイント(またはNavigation Controllerなどのルート)として設定します。 「スプラッシュ」ビューコントローラーから「メインメニュー」コントローラーにセグエをドラッグする以外は、以前と同じようにセグエを作成します。セグエを選択した状態で、属性インスペクターでその識別子をShowMainMenuに設定します。

セグエを実行する「Splash」View Controllerでメソッドを作成します。

- (void)showMainMenu {
    [self performSegueWithIdentifier:@"ShowMainMenu" sender:self];
}

「Splash」View ControllerのviewDiDLoadメソッドで、以下を追加します:

[self performSelector:@selector(showMainMenu) withObject:nil afterDelay:5.0];

そこにある!

40
ThisDarkTao

これはセグエの質問には答えません。しかし、iOSアプリでスプラッシュスクリーンを表示するという根本的な問題は解決します。

あなたが説明するもの(および多くのアプリが表示するもの)は「起動画像」です。自分でコーディングする必要はありません。 Xcodeで、ターゲットの設定に移動し、「概要」に移動して、いくつかの起動画像を追加します。

異なるディスプレイ解像度とデバイス用の起動画像を提供する必要があります。

少なくとも5秒間画像を表示したい場合は、こちらを参照してください: xcodeでの起動画像時間の増加

1
DerWOK