我有2 UIViewController
s:
UIViewControllers1
UIViewControllers2
UIViewControllers2.view
作为子视图添加到UIViewControllers1.view
。
问题在于UIViewControllers2.view
在UIViewControllers1.view
调整大小时UIViewControllers1 setFrame:frame
不希望自动调整大小。{/ p>
[UIViewControllers1.view setAutoresizesSubViews:YES]
[UIViewControllers1.view setAutoResizeMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]
[UIViewControllers1.view addSubview:UIViewControllers2.view];
如何解决?
答案 0 :(得分:0)
嗯,部分问题是这是非法的:
[UIViewControllers1.view addSubview:UIViewControllers2.view];
您绝不能只是将一个视图控制器的视图添加到另一个视图控制器的视图中。只有一种方法允许在内置的父子结构之外(UINavigationController,UITabBafController,UIPageViewController),这就是你创建自己的复杂定制的时候亲子结构 - 而你并没有这样做。这样做所需的架构在我的书中描述:
http://www.apeth.com/iOSBook/ch19.html#_container_view_controllers
要清楚,将视图添加到另一个视图没有任何错误!使视图来来往往的能力对iOS至关重要。错误的是你不能将视图控制器的视图添加到另一个视图,除了在父子视图控制器架构下,内置或自定义。