我有没有 xib 的 UIViewController,并且我正在使用 loadView 来构建创建并添加两个滚动视图的 UI。问题是,当旋转发生时,主视图框架的大小不会改变。我的意思是,我在 loadView 中设置主视图的初始帧大小(纵向模式:帧大小宽度 = 320,高度 = 480)。旋转到横向后,视图主框架尺寸没有变化,与纵向模式下相同。这是我的负载视图:
-(void)loadView{
CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, screenBounds.size.width, screenBounds.size.height)] autorelease];
self.view.autoresizingMask = (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
self.scrollView1 = [[[UIScrollView alloc] init] autorelease];
self.scrollView1.frame = CGRectMake...
[self.view addSubview:self.scrollView1];
self.scrollView2 = [[[UIScrollView alloc] init] autorelease];
self.scrollView2.frame = CGRectMake...
[self.view addSubview:self.scrollView2];
我还为视图设置了 autoresizingMask 来扩大或缩小以适应屏幕。但是在控制台中调试时我得到了相同的宽度和高度值。我需要获得新的尺寸,因为在旋转发生时我需要重新定位两个滚动视图,例如在旋转到横向模式时缩小滚动视图的高度并扩大滚动视图的宽度。我可以在 shouldRotate 中手动执行,只是好奇应该如何以正确的方式完成它。
我注意到 self.view.frame 大小不会改变,但 self.view.bounds 会旋转,并且边界代表相对于当前界面方向的正确值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)