IOS 6奇怪的调整大小

问题描述:

我有一个包含UIScrollView的UIView。 它们都具有768x1004像素的精确尺寸,以便在iPad屏幕上正确安装。IOS 6奇怪的调整大小

当iPad的方向更改为横向模式时,视图的自动调整大小会变为1044x728像素,而不是正确的比例和制造怪异行为。

只有当我在iOS 6中工作,并且iPad在横向模式下启动时才会出现这种情况。

在旧版本中,从来没有问题,当de iPad在肖像模式下启动时,功能运行良好。

为了使它工作正常,我必须将初始大小更改为748x1044,但在其他所有情况下,应用程序的大小不正确。

我的结论是,有一些机制或错误可能出现在iOS 6中,当iPad以横向模式启动时,会改变先前在xib上配置的尺寸。

任何想法?

+0

您的弹簧和支柱如何配置? –

+0

对不起,我有点小菜。你在谈论autoresizingMask吗? – user1573607

+0

是的,autoresizingMask –

我不能给出确切的代码来解决您的问题。我使用这种方式调试大小调整问题的方法是在重要事件发生时注销最外层视图的框架。

例如

- (void) viewDidLoad { 
//.. etc 
NSLog(@"viewDidLoad: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

- (void) viewDidLayoutSubviews { 
//.. etc 
NSLog(@"viewDidLayoutSubviews: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

- (void) viewDidAppear { 
//.. etc 
NSLog(@"viewDidAppear: %@", CGRectCreateDictionaryRepresentation(self.view.frame)); 
} 

正常情况下,通过观看日志,你可以看到哪里出了什么问题和在哪里。

+0

我试过你在暗示什么,它证实了我的想法。 纵向模式: viewDidLoad:{ Height = 400; 宽度= 600; X = 0; Y = 0; } 和再取向之后: viewDidLayoutSubviews:{ **高度= 144; ** ** 宽度= 856; ** X = 0; Y = 0; } 工作正常,但是如果它在横向上启动: viewDidLoad:{ Height = 400; 宽度= 600; X = 0; Y = 0; } viewDidLayoutSubviews:{ ** Height = 124; ** ** Width = 876; ** X = 0; Y = 0; } **高度比平常少20个像素,宽度为20像素更多...... ** – user1573607