设备旋转时自动调整根视图
我正在开发PDF阅读器。我在旋转模拟器时遇到问题。我正在做的是,当视图被ViewController
(即loadView
)载入视图时,我创建了UIScrollView
,其中包含大小相同(即PDF页面大小)的UIImageView
和UIView
。它在肖像模式下完美运行。但是当我在横向模式下旋转模拟器时,视图不会根据设备进行自动调整。我在的视图控制器设备旋转时自动调整根视图
的viewDidLoad()
试图
self.view.autoresizesSubviews = YES;
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
但它不工作。我很困惑以上两个属性是如何工作的。我想这些属性会将UIScrollView
自动调整为我加载UIScrollView
的根视图的大小。但是应该怎么做才能自动调整UIScrollView加载的主视图?
这是迟到的回复......如果您没有修复它,它可能会有所帮助。
当您在portraid模式下创建任何应用程序,并且如果您希望它旋转(调整大小)到横向模式,您应该在用户界面生成器或.xib(或Storyboard iPad或iPhone)文件中执行此操作。
所以检查或检查旋转在模拟器:
进入“用户界面生成器”,或“的.xib”(或‘故事板的iPad或iPhone’)的文件。
然后选择“UIImageView”并转到“显示属性检查器”。
在第四片(属性检查员)将模式设置为“高宽适应”,以及在第三片(尺寸检查),并在第五片(尺寸检查器)设置的自动调整大小属性为以下:
将箭头设置为所有方向。抱歉无法加载图片。
对“UIView”(3)做同样的事情。
在您继续之前,您可以通过选择详细视图控制器并将方向从纵向更改为横向来仔细检查是否已获得所有自动调整属性:对不起,目前无法加载图像。 ..
您可以在右上角的“模拟指标”中选择或更改为“横向或纵向”,在“尺寸”下选择“方向”。
如果有什么不对,请不要担心:只要将其更改回肖像并仔细检查设置即可。
尝试使用自动调整大小方法时,我遇到了同样的问题。所以,我希望这会有所帮助。 (P.S.我假设你以编程方式创建用户界面,而不是通过IB)
那么你试过吗?
内,您的视图 - 控制添加以下内容:
// Set the View Controller to fit the whole screen. -(BOOL)wantsFullScreenLayout{ return YES; }
里面的loadView方法修改你的滚动视图到:
// set the initial size of your scrollView object.
[scrollView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
// Set the auto resizing attributes.
[scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
除了这一点,你可能需要设置UIView或UIImageView的autoresizingmask边距取决于布局yo的类型你需要当设备旋转。