2

ビューを切り替えるために次の方法が受け入れられているかどうか疑問に思っていましたか?

AppDelegate.m

- (IBAction) switchViews
    {
    if (self.window.rootViewController == self.viewController) {
        self.window.rootViewController = self.settingsNavigationViewController;
    } else {
        self.window.rootViewController = self.viewController;
    }
}

アプリケーションの起動時に、viewController と settingsNavigationViewController の両方が nib ファイルからロードされます。

メイン ビュー (viewController) には、無限スクロール効果のための 3 つの画像ビューを含むスクロール ビューと、上部にある検索バー、下部にあるツールバーが含まれています。

2 番目のビューは、アプリケーションの設定用です。設定バンドルと同様に機能するナビゲーション コントローラーです。

どちらのビューにも、switchViews を呼び出すボタンがあります。

アプリを再構築する必要がありますか、それともこれは良い方法ですか、それともアプリを再構築する必要がありますか?

4

2 に答える 2

2

これを行うことは可能ですが、(リンゴのドキュメントはここで説明しており、これを妨げているようには見えません

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html%23//apple_ref/occ/instp/UIWindow/rootViewController

)

また、既存のビューが削除されることも意味します..

確かに、コードの匂いが少しあります。これは設定ダイアログであるため、設定ナビゲーション コントローラーを以下のようにモーダル ビューにロードしてみませんか (以下と同様の方法で)。個人的には、これは少しクリーンで、ユーザーが期待するものと少し一致しているように見えます...

[[self.viewController] presentModalViewController:self.settingsNavigationViewController animated:YES];
于 2011-05-13T10:41:51.630 に答える
-1

tabbarcontroller を使用する必要があると思います。

于 2011-05-13T10:28:14.137 に答える