2

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

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

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

谢谢

阿克

4

4 回答 4

2

看看我发布到这个其他类似问题的答案。

基本上,我也看到了你所看到的。

我链接到的答案有一个指向预发布 Apple 开发者论坛的链接(需要开发者帐户才能访问),其中讨论了这个问题(如果我正确阅读了您的描述)。如果您滚动到线程的底部,您会看到多个开发人员表示,和您一样,他们看到他们现有的应用程序(在 App Store 上)在 iOS 6 设备上运行没有问题。

只是当用 Xcode 4.5编译,然后在 iOS 6 设备(或模拟器)上运行时,他们看到了问题。由于您在商店中的应用程序是使用版本的 Xcode 编译的,因此当前拥有您的应用程序的 iOS 6 用户应该没问题。

但是,当您开始提交使用 Xcode 4.5 构建的应用程序或更新时,您应该进行我在另一篇文章中列出的修复。

于 2012-09-24T07:00:34.800 回答
0

在以编程方式为子视图设置框架时,您可以使用 self.view.frame 而不是使用,

[[UIScreen Mainscreen] bounds]

这将返回当前设备的帧。例如,如果您使用 3.5 英寸视网膜屏幕,它将返回帧 (0 ,0, 320, 480),如果您使用 4 英寸视网膜,它将返回帧 (0 ,0, 320, 568)。所以很容易处理布局问题。

于 2012-09-29T03:51:54.703 回答
0

也许自动布局已激活!我听说这是一个尚未在模拟器上修复的错误女巫。等待更新,那么它应该适合你!:D

于 2012-10-02T22:48:13.417 回答
0

在阅读了 iOS 6 中的 UIOrientation 委托方法更改后,我进行了这些更改以解决问题-

1)使用此方法重置布局 -

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration

2)如果这个代表无法获得设备的当前方向,我用它来获得它 -

UIInterfaceOrientation orientation= [[UIApplication sharedApplication] statusBarOrientation];
    [self willAnimateRotationToInterfaceOrientation:orientation duration:1.0f];

这些东西解决了我的问题。

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

于 2012-10-30T08:18:33.477 回答