如果我立即使用addChildViewController跟随它,为什么我需要调用addSubview

时间:2015-05-06 07:20:24

标签: ios objective-c

我是Objective-C和iOS的新手。 我在几个应用程序中注意到了一个熟悉的模式,我不明白为什么它是必要的......

[someParentView addSubview:aChildViewController.view]
[self addChildViewController:aChildViewController]

根据我的阅读,你不应该直接搞乱视图控制器视图,而只是添加子视图控制器,父视图控制器将决定如何以及何时查阅childViewController的视图。

换句话说,当你将一个子视图控制器添加到父视图控制器时,显然父视图控制器可以访问子视图控制器的视图,因此调用addSubview似乎不仅是多余的,而是从我读过的内容,而不是推荐使用。

编辑:下面的问题是关于我正在做的更多细节...... 我有一个覆盖整个屏幕的主要故事板视图,然后我添加了一个仅占用垂直方向屏幕左半部分的视图。用户可以点击我添加的半视图,或点击底层全屏主故事板视图中的剩余暴露的一半

2 个答案:

答案 0 :(得分:0)

参考页面,它会对你有所帮助 http://www.objc.io/issue-1/containment-view-controller.html

答案 1 :(得分:0)

我看到的主要问题是调用addSubview似乎是多余的?

我会说不,这不是多余的,因为addChildViewController只是将给定的视图控制器添加为子级,但它不会加载/添加view。 这使得调用addSubview

变得至关重要

addSubview将子控制器的视图添加为子视图。

有关详细信息,请参阅:

Creating Custom Content View Controllers

Implementing a Custom Container View Controller