ios - 在另一个 UIViewController 中嵌入 UIViewController View

标签 ios iphone objective-c uitableview uiviewcontroller

在我的应用程序中,我有一个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。但似乎 IBOutletsIBActions 坏了。 这种方法在某种程度上可行吗?如果是这样,它被认为是一种不好的做法?

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/

相关文章:

iphone - 闪存 iOS 应用程序

ios - 当达到 iOS 开发者计划的 100 台设备限制时,我有哪些选择

iphone - 如何在 iPhone 应用程序中加载更新

ios - 无法在钥匙串(keychain)中添加新项目。 ADAL iOS 中的错误代码 : -25243.

objective-c - 如何更新 UITableView 中的数据?

iphone - 如何从网站提取数据并将其放在应用程序中?

ios - 如何使用搜索栏使用 swift 从 json 结果中获取数据?

ios - 一段时间后动画在 iOS 应用程序中消失

iphone - 如何为 iPhone 制作一个类似于 Fat Booth 的应用程序

iphone - MapView 高于 iOS 应用程序中的所有对象