私はxcodeでstoryBoardsを使用しており、免責事項として機能するalertViewを作成しています。選択したボタンが押されたときに (はい/いいえ) rootViewController を切り替えて保存したい。これは、はいが押されたときに、次にアプリを起動するときに、別の rootViewController で起動することを意味します。しかし、ストーリーボードを使用するときに rootViewController が MainStoryBoard の矢印で指定されている場合、どうすればよいでしょうか? 前もって感謝します
3 に答える
一般に、ストーリーボードでビューやビューコントローラを再利用することはできません。これらは、awakeFromNIBのコードに接続されている静的な表現です。
別のビューコントローラをストーリーボードのビューに接続したい場合でも、できません。同じ理由で、ストーリーボードのrootViewControllerを変更することもできないと思います。
ストーリーボードは優れた抽象化ですが、その下には単純な古いペン先があります。VCを任意のビューにコーディングし、rootViewControllerを置き換える柔軟性が必要な場合は、ストーリーボードのように、それらのビューを含む別のペン先を作成する必要があります。その場で再構成することはできません。
私がこれを行った方法は、RootViewController viewDidLoad メソッドで同様の条件をチェックすることです。
ユーザーが条件などに同意したかどうかを確認できます...(これを NSUserDefaults などに保存します)
その後、RootViewController の viewDidLoad 内で、アプリの起動時に移動したい viewController へのセグエを実行します。
このセグエは、何かが画面に表示される前に発生するため、ユーザーはアプリが新しい画面に直接起動したと考えます。
また、popToRootViewController メソッドが間違った画面に移動するようになりました。そこで、アンワインド アクションを見てみましょう。これは、複数の pop を実行することなく、スタック内の任意の場所にある viewController に戻ることができる方法です。
必要に応じて、アンワインド アクションに関する詳細情報へのリンクを見つけることができます。