-3

我有 2UIViewController秒:

UIViewControllers1
UIViewControllers2

UIViewControllers2.view作为 subView 添加到UIViewControllers1.view.

问题是在调整大小UIViewControllers2.view时不想自动UIViewControllers1.view调整大小(UIViewControllers1 setFrame:frame)。

[UIViewControllers1.view setAutoresizesSubViews:YES]
[UIViewControllers1.view setAutoResizeMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]
[UIViewControllers1.view addSubview:UIViewControllers2.view];

如何解决?

4

1 回答 1

0

好吧,部分问题在于这是非法的:

[UIViewControllers1.view addSubview:UIViewControllers2.view];

你绝不能随意地将一个视图控制器的视图添加到另一个视图控制器的视图中。只有一种方法可以在内置的父子结构之外为您执行此操作(UINavigationController、UITabBafController、UIPageViewController),那就是当您创建自己的精心定制的父子结构时 - 您不这样做。我的书中描述了这样做所需的架构:

http://www.aeth.com/iOSBook/ch19.html#_container_view_controllers

需要明确的是,将视图添加到另一个视图没有任何问题!让视图来来去去的能力对于 iOS 来说是至关重要的。问题是你不能将视图控制器的视图添加到另一个视图中,除非在父子视图控制器架构下,内置或自定义。

于 2013-04-12T02:31:37.500 回答