Iphone 在iOS中构建多视图应用程序是否有任何首选方法?
简短介绍 我是使用iOS平台开发应用程序的新手。目前,我需要为iPhone和iPad开发一个多视图应用程序 我的研究 我一直在研究多视图应用程序的开发,发现一般的方法是使用提供的一个控制器作为根视图控制器(UI选项卡栏控制器等等)。或者,或者编写自己的根视图控制器 我的问题 我现在要解决的具体问题主要是如何构建一个更复杂的应用程序,它包括: -登录视图(这是在打开应用程序时向用户显示的第一个视图) -应用程序的其余部分(应使用UI选项卡栏控制器进行导航) 我现在想到的是这个想法: 创建自定义根视图控制器。此根视图控制器将首先向用户显示登录视图(通过将登录视图添加为其自身的子视图)。登录后,它应该将子视图更改为UI选项卡栏控制器 实际问题 那么,我的问题是,这是否是一种可以接受的做法?基本上,我会有一个根视图控制器,它通过将这些视图添加为自身的子视图来在视图之间切换 我还没有找到任何一篇文章讨论可以接受的方法。我对目前想法的担忧是,拥有一个主要的根视图控制器,它基本上包含应用程序的所有视图,并在它们之间切换,这可能会很快变得混乱 任何输入都将被通知:)Iphone 在iOS中构建多视图应用程序是否有任何首选方法?,iphone,ios,ipad,multiview,Iphone,Ios,Ipad,Multiview,简短介绍 我是使用iOS平台开发应用程序的新手。目前,我需要为iPhone和iPad开发一个多视图应用程序 我的研究 我一直在研究多视图应用程序的开发,发现一般的方法是使用提供的一个控制器作为根视图控制器(UI选项卡栏控制器等等)。或者,或者编写自己的根视图控制器 我的问题 我现在要解决的具体问题主要是如何构建一个更复杂的应用程序,它包括: -登录视图(这是在打开应用程序时向用户显示的第一个视图) -应用程序的其余部分(应使用UI选项卡栏控制器进行导航) 我现在想到的是这个想法: 创建自定义根视
提前谢谢。我刚才一直在寻找类似的图案。根据我的发现,我得出结论,处理登录屏幕的最佳方法是将其注入主应用程序窗口。因此,您是在
UIApplicationLegate
类中执行此操作的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
if ([self loginNeeded])
{
[self presentLoginScreen];
}else
{
[self presentTabBarController];
}
[self.window makeKeyAndVisible];
return YES;
}
也就是说,presentLoginScreen如下所示:
- (void)presentLoginScreen
{
SMLoginViewController* loginVC=[[SMLoginViewController alloc] initWithNibName:@"SMLoginViewController" bundle:[NSBundle mainBundle]];
[self.window setRootViewController:loginVC];
[loginVC release];
}
类似地,在[self-presentTabBarController]
中,我创建包含实际应用程序的UITabbarController,然后调用[self.window setRootViewController:tabbarController]代码>
这是很有用的,因为您不需要扩展视图层次结构。这篇文章展示得很好。!!::)哈哈,很高兴你喜欢:)好的问题表达方式可以让交流问题变得完全不同:)啊哈,这看起来是一种巧妙的方式:)我最初的担心肯定是登录屏幕似乎不必要地使视图层次结构复杂化。谢谢你的帮助!:)