0

派手な iOS ナビゲーション バーを使用せずにアプリを作成したいと考えています。全画面表示を切り替える最善または最も正しい方法は何ですか?

たとえば、「ホーム」から始めて、ナビゲーション バーを使用せずに「ログイン」に移動したい場合、どうすればよいでしょうか? rootViewController を変更する必要がありますか? また、新しいビューに入れ替えるとき、古いビューが完全に解放されていることを確認するにはどうすればよいですか? 参照がない場合、ARCは単に消えると思いますか?ARC以前は、すべてをnullに設定する必要がありますか?

または、ナビゲーション バーを非表示にしてスタックを使用する正しい方法はありますか?

ありがとう!

4

2 に答える 2

2

通常UINavigationControllerを使用し、ナビゲーション バーを非表示に設定します。結構簡単。

于 2012-12-07T16:32:44.353 に答える
1

スタックが必要ない場合は、デフォルトのセグエでデフォルトの UINavigationController を使用することはできません。宛先の背後にあるすべてのビューを解放する場合は、宛先が画面に表示されるときにスタックから削除する必要があります。

私の答えは、すべてをナビゲーション コントローラーに入れ、バーを非表示 ( ) に設定し、次のようにメソッドself.navigationController.navigationBarHidden = YES;をオーバーライドするカスタム セグエを作成することです。perform

- (void) perform {
    UIViewController* destination = self.destinationViewController;
    NSArray* newStack = [NSArray arrayWithObject:destination];
    UIViewController* source = self.sourceViewController;
    [source.navigationController setViewControllers: newStack animated: YES];
}

次に、すべてを通常どおり接続し、セグエをカスタム クラスにします。そうすれば、セグエするたびに、新しく表示されたコントローラー以外のすべてがスタックからクリアされます。

編集:私がこれを書いている間に、そのスタックを使用したかったことを明確にするために編集したと思います。しかたがない。その場合は、バーを非表示に設定して、通常どおり使用してください。

于 2012-12-07T17:02:57.887 に答える