Iphone 在iOS中构建多视图应用程序是否有任何首选方法?

Iphone 在iOS中构建多视图应用程序是否有任何首选方法?,iphone,ios,ipad,multiview,Iphone,Ios,Ipad,Multiview,简短介绍 我是使用iOS平台开发应用程序的新手。目前,我需要为iPhone和iPad开发一个多视图应用程序 我的研究 我一直在研究多视图应用程序的开发,发现一般的方法是使用提供的一个控制器作为根视图控制器(UI选项卡栏控制器等等)。或者,或者编写自己的根视图控制器 我的问题 我现在要解决的具体问题主要是如何构建一个更复杂的应用程序,它包括: -登录视图(这是在打开应用程序时向用户显示的第一个视图) -应用程序的其余部分(应使用UI选项卡栏控制器进行导航) 我现在想到的是这个想法: 创建自定义根视

简短介绍

我是使用iOS平台开发应用程序的新手。目前,我需要为iPhone和iPad开发一个多视图应用程序

我的研究

我一直在研究多视图应用程序的开发,发现一般的方法是使用提供的一个控制器作为根视图控制器(UI选项卡栏控制器等等)。或者,或者编写自己的根视图控制器

我的问题

我现在要解决的具体问题主要是如何构建一个更复杂的应用程序,它包括:

-登录视图(这是在打开应用程序时向用户显示的第一个视图) -应用程序的其余部分(应使用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]


这是很有用的,因为您不需要扩展视图层次结构。

这篇文章展示得很好。!!::)哈哈,很高兴你喜欢:)好的问题表达方式可以让交流问题变得完全不同:)啊哈,这看起来是一种巧妙的方式:)我最初的担心肯定是登录屏幕似乎不必要地使视图层次结构复杂化。谢谢你的帮助!:)