容器视图和呈现子视图控制器

Container Views and presenting child view controllers

关于 xCode 和 objective-C 中容器视图的问题。当我将容器视图添加到我的项目时,默认情况下它在它的父视图控制器中是可见的。我的目标是让它一开始是不可见的,并通过带有

的 UIButton 呈现它
addChildViewController:

方法。但为此我需要它不在那里开始。我可以通过将它的 view.alpha 设置为 0 来解决这个问题,但它似乎冗长,要有一些可见的东西并且必须使其不可见然后再次使其可见。这似乎不是最佳实践。 我检查了文档并发现了很多有趣的东西,但没有关于这个特定主题的内容。谁能指出我正确的方向?谢谢

------------------------更新---------------- ----------------------

这就是我到目前为止所做的。 (h 文件中有一个 @属性 ChildViewController *vc 需要导入)。它不工作。就像,它没有隐藏任何东西。

- (void)viewDidLoad {
    [super viewDidLoad];

    self.vc = [[ChildViewController alloc]init];
    [self addChildViewController:self.vc];
    [self.view addSubview:self.vc.view];
    self.vc.view.hidden = YES;
}

通过设置 alpha 来隐藏 View Controller 完全没问题。它的优点是您的视图控制器已准备就绪,因此应用程序会感觉更灵敏。另一种方法是使用 'presentViewController' 将其实际(模态)添加到视图中。这可能是更正常的方式,但实际上两者都可以。唯一不是一个好主意的情况是,如果您 show/hiding 的视图控制器是非常处理器或内存密集型的,并且您需要您的应用程序更有效地利用资源,在这种情况下,您应该呈现并关闭它模态而不是 show/hiding 它与 alpha.