【问题标题】:Layout Issues while running the app in iPad 6.0 Simulator在 iPad 6.0 模拟器中运行应用程序时出现布局问题
【发布时间】:2012-09-15 14:29:27
【问题描述】:

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

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

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

谢谢

阿克

【问题讨论】:

    标签: objective-c ios xcode ipad ios6


    【解决方案1】:

    看看我发布到this other similar question的答案。

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

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

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

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

    【讨论】:

    • 谢谢内特。我将尝试弄清楚这些事情(在 XCode 4.5 中编译后我遇到了什么问题)。感谢您的帮助,如果我没有得到它会发布。 :)
    【解决方案2】:

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

    [[UIScreen Mainscreen] bounds]
    

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

    【讨论】:

      【解决方案3】:

      也许自动布局已激活!我听说这是一个 bug 女巫还没有在 模拟器上修复。 等待更新然后它应该适合你! :D

      【讨论】:

        【解决方案4】:

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

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

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

        2) 如果此委托无法获取设备的当前方向,我使用它来获取它 -

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-06-26
          • 1970-01-01
          • 1970-01-01
          • 2012-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-19
          相关资源
          最近更新 更多