我想知道以下是否可以接受切换视图的方式?
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的按钮;
我是否需要重新构建我的应用程序,或者这是一个很好的方法,还是我需要重构我的应用程序?
答案 0 :(得分:2)
虽然它可以做到这一点,(苹果文档在这里解释并且似乎没有阻止这个
)
这也意味着您的现有视图已被删除..
它肯定有一点代码味道。由于这是一个设置对话框,为什么不将设置导航控制器加载到模式视图中,如下所示(与下面类似)。就个人而言,这似乎更清晰,更符合用户的期望......
[[self.viewController] presentModalViewController:self.settingsNavigationViewController animated:YES];
答案 1 :(得分:-1)
我认为你必须使用tabbarcontroller。