3

我对需要多少个控制器以及何时可以将 UIViews 加载到同一个控制器中而不是为两个单独的 UIViews 使用两个控制器感到有些困惑。

这是我目前的情况。我有一个简单的应用程序,它在开始屏幕上接收信息,然后根据来自用户的信息(通过 UIPicker 和文本字段),它将翻转动画显示到一个新视图,该视图是以下两种选择之一:ViewA 或视图 B。

现在,我有一个根控制器 GenController.view 在启动后加载到 UIWindow 中。然后在GenController中,在ViewDidLoad方法中,我创建了另一个控制器GetInfoController的实例,并将Subview插入到self.view中,此时self就是GenController的原始实例。

getInfoController 接收信息,对用户条目执行一些逻辑,然后相应地加载 ViewAController 或 ViewBController 的实例。

ViewAController 和 ViewBController 非常相似,只是 UIView 看起来略有不同。用户与屏幕的交互将是相同的。

我觉得 1)GenController 和 GetInfoController 应该是一样的,但我不确定如何集成它们。我是否将 GetInfoController 直接加载到 UIWindow 中?那我需要在 ViewDidLoad 中做任何事情吗?2) 我应该有一个 viewXController 而不是一个用于 ViewA 和 ViewB 的吗?...如何根据 GetInfo 中的逻辑将不同的 UIView 加载到一个控制器中?

4

1 回答 1

3

听起来你会想要使用UINavigationController. 它维护了几个UIViewControllers,并且可以很容易地从一个切换到另一个。

一般来说,一个单一的UIViewController维护一个单一的UIView。(因此UIViewController类上的“视图”属性。)

在第一个UIViewController中,当您想切换到第二个UIViewController时,您可以执行以下操作:

[self.navigationController pushViewController:secondViewController animated:YES];
于 2009-04-15T02:50:52.863 回答