在iPad 6.0模拟器中运行应用程序时的布局问题

时间:2012-09-24 06:18:29

标签: objective-c ios xcode ipad ios6

在将我的XCode升级到4.5并在iPad 6.0模拟器上测试应用程序后,这对我来说有点不确定。

详细信息 - 当我在iPad 6.0模拟器上运行应用程序时,会出现很多视图/布局和方向问题。但是当我在iOS 6 iPad设备上从App Store下载相同的应用程序时,我的应用程序运行正常。

我正在模拟器上测试它以支持我的iOS 6应用程序。这种情况发生的原因是什么?

由于

阿克

4 个答案:

答案 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];

这些事情解决了我的问题。

感谢您的帮助和回复。 :)