【问题标题】:Why is iOS simulator displaying blank screen when I rotate device?为什么 iOS 模拟器在我旋转设备时显示空白屏幕?
【发布时间】:2015-04-19 18:50:09
【问题描述】:

通过一些介绍性的 swift 并使用 Xcode,我基本上只有一个带有一些颜色方块、背景颜色等的页面。不做任何事情。问题是当我编译代码时它会在模拟器中运行得很好并显示一切都很完美,但是当我旋转设备时,一切都消失了,它只给我一个空白的白屏。向右或向左旋转就可以了。唯一显示它的视图是原始的直立视图(对于我通过模拟器测试的所有 iPhone 设备)。

Xcode 6.1.1 和 iOS Simulator 8.1 正在我的装有 OSX 10.9.5 的 MacBook Air 上使用。

在 App 常规页面中,我已经在 Deployment info 下检查了 Landscape Right 和 Left 都已选中。故事板设置在 Any H 和 Any W。

我不确定自己做错了什么,而且搜索起来非常困难,因为我还是 iOS 开发的新手我不确定我使用的词是否正确,因为我找不到一个答案。

总结:

应用程序在 iOS 模拟器中正常显示,纵向视图但没有其他视图工作,而是显示空白屏幕。

【问题讨论】:

    标签: ios swift rotation simulator


    【解决方案1】:

    为了查看您的视图是否真的被绘制并且刚刚离开屏幕,正如其他人建议的那样,捕获视图层次结构。转到菜单中的“调试”,然后在“查看调试”中单击捕获视图层次结构。这将暂停您的应用并在屏幕上创建所有视图的 3D 表示,您可以通过单击和拖动来移动它。

    你的观点真的被绘制了吗?如果是,他们是否正在画出屏幕?如果是,那么您需要修复您的约束。

    【讨论】:

    • 关于使用 View Debugger 的好建议(文档链接:developer.apple.com/library/ios/recipes/xcode_help-debugger/…)。这应该始终是尝试修复视觉/自动布局问题的第一步。
    • @RoboticCat 自从我开始使用它以来,我发现它非常宝贵。
    • 感谢您的建议。我玩了这个应用程序,iOS模拟器出现了,问题就在那里。然后我去 xCode 中的 Debug 并单击捕获视图层次结构 - 图像就在那里。它也在 iOS 模拟器中显示,除了图像没有随设备一起旋转。当我旋转屏幕时,就像物理旋转手机但根本没有将图片更改为横向。所以拿着手机横向视图意味着我看到一个侧面的肖像。 xcode 底部的小调试窗口中什么也没有显示除了约束之外我还有其他问题吗?
    • 当您捕获视图层次结构时,应用会暂停执行。您需要再次按“播放”。播放按钮就在控制台上方。
    • 感谢您处理我的菜鸟问题:D 当我的模拟设备处于横向视图时,我正确地捕获了视图 - 没有绘制任何内容。不知道现在如何继续,因为它在捕获的 3D 视图中显示一个空白的白色屏幕以供调试。有什么想法吗?
    【解决方案2】:

    您没有在界面生成器中设置正确的自动布局UIConstraints。检查界面生成器中的文档大纲视图,并确保您为每个视图设置了适当的约束。

    当您创建冲突的约束、没有提供足够的约束或最终布局包含一组不明确的约束时,会出现自动布局问题。

    查看此 Apple documentation,它将逐步向您展示如何解决您的(常见)问题。

    【讨论】:

      【解决方案3】:

      听起来您没有适当地设置约束。尝试将每个视图的顶部和前导约束设置为小于 320(应该涵盖所有设备尺寸)。修复您的警告,然后重试。我相信这些观点只是在屏幕之外。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-23
        • 2017-04-19
        • 2015-03-08
        • 1970-01-01
        • 1970-01-01
        • 2012-04-27
        • 2019-08-21
        相关资源
        最近更新 更多