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 个用于无限滚动效果的图像视图的滚动视图,以及顶部的搜索栏和底部的工具栏。

第二个视图用于我的应用程序设置。它是一个导航控制器,其执行类似于设置包。

两个视图都有一个调用 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 回答