我正在开发一个CatalogueViewController,它包含一个滚动视图,该视图以编程方式填充了一系列PageViewController。这是旧代码,其中所有内容都以编程方式为iPad构建,仅用于纵向视图。此外,每个PageVC的内容都是以编程方式构建的,并且在运行时以编程方式添加了一些自定义UIView(这意味着在VC中创建和插入的每个视图都具有硬编码帧)。
现在我需要启用横向模式视图,因此每个页面现在应该“自动调整”以填充iPad屏幕的一半(因此我可以在横向和时间看到2页1页的肖像)。
我研究了很多关于自动调整的链接,其中包括this,this和this。
我认为一个可行的解决方案可能是在我的PageViewController的-(void)viewDidLoad
,-(void)viewWillAppear:(BOOL)animated
,-(void)viewDidAppear:(BOOL)animated
中插入以下代码
[self.view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
for(UIView* subview in self.view.subviews)
[subview setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
和(只是为了确定)在PageViewController中添加的主要自定义视图(在许多函数中)中也有以下内容(为其提供真实视觉结构的那些)
for(UIView* subview in self.subviews)
[subview setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[self setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
但它没有完成这项工作......请注意,CatalogueViewController没有自动布局激活,PageViewController没有xib和每个大的自定义视图(正如我所说,在页面视图中添加以便给出主要内容) PageViewController的结构有一个xib,autolayout NOT active。
我不明白
有什么区别对于第2点,请注意当分配一个PageViewController(但它仍然是空的)时,我会向它应用一个正确的帧(整页或半页),具体取决于设备方向和旋转后的帧我重新修复了每个PageViewController的框架。
提前感谢任何人