在将我的XCode升级到4.5并在iPad 6.0模拟器上测试应用程序后,这对我来说有点不确定。
详细信息 - 当我在iPad 6.0模拟器上运行应用程序时,会出现很多视图/布局和方向问题。但是当我在iOS 6 iPad设备上从App Store下载相同的应用程序时,我的应用程序运行正常。
我正在模拟器上测试它以支持我的iOS 6应用程序。这种情况发生的原因是什么?
由于
阿克
答案 0 :(得分:2)
查看我发布到this other similar question的答案。
基本上,我也看到了你所看到的。
我链接的答案有一个链接到预发布的Apple开发人员论坛(需要开发人员帐户才能访问),其中讨论了这个问题(如果我正确阅读您的描述)。如果你滚动到线程的底部,你会看到多个开发人员说,像你一样,他们看到他们现有的应用程序(在App Store上)在iOS 6设备上运行没有问题。
只是当编译与Xcode 4.5,然后在iOS 6设备(或模拟器)上运行时,他们就会看到问题所在。由于商店中的应用程序是使用旧版版本的Xcode编译的,因此目前拥有应用程序的iOS 6用户应该没问题。
但是,当您开始提交使用Xcode 4.5构建的新应用或更新时,您应该在我的其他帖子中列出我列出的修补程序。
答案 1 :(得分:0)
在以编程方式设置子视图的帧时,您可以使用
而不是使用self.view.frame[[UIScreen Mainscreen] bounds]
将返回当前设备的帧。例如,如果您使用3.5英寸视网膜屏幕,它将返回帧(0,0,320,480),如果您使用4英寸视网膜,它将返回帧(0,0,320,568)。所以很容易处理布局问题。
答案 2 :(得分:0)
也许autolayout已激活!我听说模拟器尚未修复错误女巫。等待更新然后它应该适合你! :d
答案 3 :(得分:0)
在iOS 6中阅读UIOrientation委托方法更改后,我做了这些更改来解决问题 -
1)使用此方法重置布局 -
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
2)如果这个代表无法获得设备的当前方向,我就用它来获取它 -
UIInterfaceOrientation orientation= [[UIApplication sharedApplication] statusBarOrientation];
[self willAnimateRotationToInterfaceOrientation:orientation duration:1.0f];
这些事情解决了我的问题。
感谢您的帮助和回复。 :)