让iPhone应用程序显示两种不同视图之一
我有一个程序,我们正在使用导航控制器,需要应用程序启动到两个不同的视图之一。基本上,如果以前输入过某些信息,那么我们需要启动应用程序来查看A,但如果从未输入过信息,那么我们需要启动应用程序来查看B。我很难让它正常工作,我想知道如果有什么方法可以实现这一点。我确信这需要在应用程序代理中完成,但我不确定如何完成。提前谢谢 从您的问题来看,您的UINavigationController似乎与根视图控制器一起定义在XIB中。在这种情况下,您需要从应用程序代理的让iPhone应用程序显示两种不同视图之一,iphone,objective-c,uiview,uinavigationcontroller,delegates,Iphone,Objective C,Uiview,Uinavigationcontroller,Delegates,我有一个程序,我们正在使用导航控制器,需要应用程序启动到两个不同的视图之一。基本上,如果以前输入过某些信息,那么我们需要启动应用程序来查看A,但如果从未输入过信息,那么我们需要启动应用程序来查看B。我很难让它正常工作,我想知道如果有什么方法可以实现这一点。我确信这需要在应用程序代理中完成,但我不确定如何完成。提前谢谢 从您的问题来看,您的UINavigationController似乎与根视图控制器一起定义在XIB中。在这种情况下,您需要从应用程序代理的application:didfishla
application:didfishlaunchingwithoptions:
中加载相应的视图。从那里,您可以使用setViewControllers:animated:
设置UINavigationController的第一个视图控制器。我遇到了这个问题并解决了它
在导航控制器中,构建容器视图
然后根据您的条件,您决定将什么视图放入容器中。您可能已经事先构建了这两个视图。然后,可以将视图添加到容器视图中。
我认为“Elements”示例中有一个容器视图示例。在应用程序委托中实现以下方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[window makeKeyAndVisible];
if(condition) {
[window addSubview:[mainViewControllerA view]];
} else {
[window addSubview:[mainViewControllerB view]];
}
}
在那里,您可以根据您的条件选择要加载的视图。问题是,它只是一个视图控制器,具有多个不同的视图。您是否在UIViewController中管理这些视图?您可以为拥有的每个视图创建属性,然后可以使用mainViewController.viewA、mainViewController.viewB等访问视图。