在我的应用程序中,我有一个login-register-forgotpasword 线框。该过程的每个步骤都在单独的 UIViewController
中实现,所有这些都在同一个 Storyboard
中,并且每个 Controller 之间的转换都是动画的。到目前为止一切顺利。
现在我们改变了设计,所以所有 View 都有相同的背景元素和标题(不完全是 UINavigationBar
),我不喜欢 View 的动画感觉总是看起来实际上是相同的,但只是显示出不同的形式。所以我正在考虑不同的方法,而不是插入整个 Controller ,只是显示/隐藏它的 View ,但留在同一个 Controller 中。-
1) 我的第一次尝试是实例化我想要显示的 View 的 Controller ,并将其添加到当前 View 。类似的东西。-
- (IBAction)btnRegisterPressed:(id)sender {
_viewHome.hidden = YES;
RegisterController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"registerNewUser"];
[self.view addSubview:controller.view];
}
这将是完美的,因为我为我的表单使用静态 UITableViews
,据我所知,我需要为每个表单使用一个 UITableViewController
。但似乎 IBOutlets
和 IBActions
坏了。 这种方法在某种程度上可行吗?如果是这样,它被认为是一种不好的做法?
2) 我的第二个选择是在一个 Controller 内创建所有 View ,并正确显示/隐藏它们。这将很难维护,而且我很可能不得不忘记静态 UITableViews
。
谁能给我一些建议,告诉我哪个选项更好,或者指出我所缺少的任何其他可能的方法?
最佳答案
您的选项 #1 与书面内容不相符,但接近于您可能应该考虑的方法。您可以添加嵌套不同 UIViewController
的 View ,但是当您这样做时,您应该使用 Managing Child View Controllers in a Custom Container 中描述的方法。以便父 Controller 正确管理其子 Controller 。
关于ios - 在另一个 UIViewController 中嵌入 UIViewController View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19918476/