objective-c - IOS 6 奇怪的调整大小

标签 objective-c uiview autoresize ios6

我有一个包含 UIScrollView 的 UIView。 它们都具有 768x1004 像素的精确尺寸,可以正确适应 iPad 屏幕。

当 iPad 的方向更改为横向模式时, View 的自动调整大小更改为 1044x728 像素,这不是正确的比例并且会产生奇怪的行为。

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

在旧版本中从来没有问题,当 iPad 以纵向模式启动时,功能运行良好。

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

我的结论是,iOS 6 中可能存在某种机制或错误,当 iPad 以横向模式启动时,它会更改您之前在 xib 上配置的大小。

有什么想法吗?

最佳答案

我无法提供解决您问题的确切代码。我用来调试此类大小调整问题的一种方法是在发生重要事情时注销最外层 View 的框架。

例如

- (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) );
}

通常通过查看日志,您可以看到哪里出了问题。

关于objective-c - IOS 6 奇怪的调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410983/

相关文章:

ios - 包含基于 xcode 方案的 header

objective-c - NSSet 的问题(删除对象并迭代)

iPhone/iOS : Will there be called any method if a UIView is added as a subview

wpf - 如何使 WPF ListView 不高于其内容但适合其他控件的窗口?

objective-c - 即时通讯API

ios - swift : Different UIView in each UITableView cell

ios - 自定义 UIView 在 addSubview 上不可见

ios - iPhone - 自动调整 UIWebView 内容不适合框架

android - 自动调整大小并再次设置文本后重置 TextView textSize

ios - 验证 Facebook/Twitter 连接的最佳实践。 (防止逆向工程 key )