gpt4 book ai didi

ios - 在应用程序中处理不同的 View Controller : creating Custom Content View Controllers

转载 作者:行者123 更新时间:2023-11-29 13:40:40 26 4
gpt4 key购买 nike

在应用程序开发期间,我在支持正确的应用程序架构方面遇到了问题。这对于我目前正在开发的应用程序来说是正确的。特别是,我需要支持如下架构。

enter image description here

如您所见,MainViewController 是应用程序的主 Controller ,必须在应用程序生命周期内管理不同的 Controller 。在这种情况下,MainController 是一种集中式 Controller (其 View 的 subview 始终位于最前面,将其视为菜单 View ),用于管理应用程序的不同状态(例如 LOGIN_AREA、HOME_AREA、等)。

在下面我写了一些实现上述架构的考虑。

由于 MainViewController 需要始终在其他 View (UIviewControllerX 的 View )前面显示其 View 的 subview ,我将其设置为 rootViewController.

由于 MainViewController 必须被其他 Controller 访问(例如 UIViewControllers1),它们需要有一个(弱)引用。

MainViewController 有一个公共(public)方法来管理应用程序状态。它存储当前 Controller 并将选定的 Controller View 添加到其 View 作为其 subview 。例如:

- (void)manageController
{
if(currentState == LOGIN_AREA)
{
self.currentController = [[[LoginViewController alloc] init] autorelease];
}

// other stuff here...

[self.view addSubView:self.currentController.view];
}

上述模式似乎可行,但我不太确定它是否正确。上瘾时,如果 UIViewController(例如 UIViewController1)必须是 UINavigationController,情况就会变得复杂。

我读过 View Controller Programming Guide for iOS .特别是,我发现 Creating Custom Content View Controllers 部分很有趣但我还没有找到任何创建自定义示例的示例。

所以,我的问题如下。

你能给我一些建议来实现以下架构吗?或者您能给我一些开发自定义内容 View Controller 的提示吗?

最佳答案

对于那些感兴趣的人。

要实现类似的机制,有两种不同的方法。

1) 实现自定义内容容器。这是一项复杂的任务,但它是可能的。有关更多信息,请阅读 writing-high-quality-view-controller

2) 使用新的 iOS 5 API。有关详细信息,可以阅读 UIViewController Class Reference 中的实现容器 View Controller 部分。 .

希望对您有所帮助。

关于ios - 在应用程序中处理不同的 View Controller : creating Custom Content View Controllers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262469/

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