gpt4 book ai didi

iphone - 在 iOS 中构建多 View 应用程序有什么首选方法吗?

转载 作者:行者123 更新时间:2023-12-03 19:57:33 25 4
gpt4 key购买 nike

简短介绍

我是使用 iOS 平台进行应用程序开发领域的新手。目前我需要为 iPhone 和 iPad 开发多 View 应用程序。

我的研究

我一直在对多 View 应用程序的开发进行一些研究,发现一般方法是使用提供的 Controller 之一作为 Root View Controller (UI 选项卡栏 Controller 等)。或者,或者编写您自己的 Root View Controller 。

我的问题

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

-登录 View (这是打开应用程序后呈现给用户的第一个 View )-应用程序的其余部分应使用 UI 选项卡栏 Controller 进行导航)

我现在想到的是这个想法:

创建自定义 Root View Controller 。该 Root View Controller 将首先向用户呈现登录 View (通过将登录 View 添加为其自身的 subview )。登录后,应该将 subview 更改为UI选项卡栏 Controller 。

实际问题

我的问题是,这是否是一种可以接受的做法?基本上我会有一个 Root View Controller ,它通过将这些 View 添加为其自身的 subview 来在 View 之间切换。

我还没有真正找到任何讨论可接受的方法的文章。我对当前想法的担忧是,拥有一个基本上包含应用程序的所有 View 并在它们之间切换的主 Root View Controller 可能很快就会变得困惑?

任何意见都会被采纳:)

提前致谢。

最佳答案

我不久前一直在寻找类似的模式。根据我的发现,我得出的结论是,处理登录屏幕的最佳方法是将其注入(inject)主应用程序窗口。因此,您正在 UIApplicationDelegate 类中执行此操作

- (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];

这很有用,因为您不会扩展不必要的 View 层次结构。

关于iphone - 在 iOS 中构建多 View 应用程序有什么首选方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com