0

我在视图控制器中创建了 2 个子视图,以便基于 2 个不同的按钮在彼此之间交换。

a la,按钮 1 显示 childview1 等。

但是,当我以横向模式启动应用程序并在 viewDidAppear 中打印出子视图的边界时,边界仍然不正确。

所以基本上,

  1. 在视图控制器的 viewDidAppear 方法中,我创建了 2 个子视图,然后我立即在此处为视图控制器打印出边界。他们是正确的。

  2. 在 childviewcontroller 的 viewDidAppear 方法中,我还打印出边界,因为我知道它们对于父级是正确的并且它们仍然不正确。

所以输出看起来像这样..

ViewController Bounds Height2:748.000000 Width: 1024.000000   
Child Bounds Height:1004.000000 Width: 768.000000

当应用程序加载时,我的视图控制器有正确的尺寸,而孩子们没有。

有任何想法吗?有什么方法可以设置孩子的创作界限吗?

谢谢

4

1 回答 1

0

我认为问题在于您永远不会从子视图控制器之外的任何地方设置子视图控制器的视图框架。在您的父视图控制器的viewDidLoad方法(或viewDidAppear方法,如果您喜欢)中,并且在子视图控制器被初始化之后,使用父视图控制器的bounds.

例如,您可以将以下内容放在父视图控制器的viewDidLoad方法中:

childViewController.view.frame = CGRectMake(0, 50, self.view.bounds.size.width, self.view.bounds.size.height - 50);
于 2013-01-23T20:33:03.013 回答