iPhone 6 显示缩放功能扰乱了整个视图

Posted

技术标签:

【中文标题】iPhone 6 显示缩放功能扰乱了整个视图【英文标题】:iPhone6 Display Zoom Functionality disturbs the whole view 【发布时间】:2015-04-08 08:53:22 【问题描述】:

我遇到了 iPhone6 的 Display Zooms 功能问题,因为在 Xcode 6.1.1 模拟器上没有要测试的 Display Zoom 功能,它只有标准显示。

问题:

当我在模拟器和 iPhone6(带有标准显示器)上运行我的代码时,它工作正常,但是当我在 iPhone6(带有显示缩放功能)上运行我的代码时,我的整个视图从它的原始位置开始受到干扰,甚至 UIButton 都是在这种情况下甚至不显示或隐藏。

这是我的场景的两张图片:

在下图中(带标准显示屏的 iPhone 6),所有视图都在其原始位置,一切都很好。

但在下图中(具有显示缩放功能的 iPhone 6 已开启)视图中的所有东西都偏离了其原始位置,并且在这种情况下,大球周围的小球(UIButton)甚至被隐藏了。

任何帮助和建议将不胜感激。

【问题讨论】:

IIRC,显示缩放只是模拟 iPhone 5/5S/5C 的分辨率。您的应用在这些设备上的表现如何? 我没有检查这些设备,目前我在 iphone 6 上遇到了这个问题,显示放大只知道我如何修复它或我如何在 xcode 模拟器上检查它是苹果的bug? 这里没有什么可以回答的。确保您的用户界面在 iPhone 5/5S 模拟器上的行为符合预期,并且在 iPhone 6 上的行为方式与缩放模式完全相同。 是的,我面临的唯一问题是在 iPhone6 上,所以我们可以在模拟器上测试缩放模式吗? Irfan,我在我的应用程序中遇到了同样的问题。它在“标准版”中按预期工作。但是在“缩放”模式下,UIElements 的框架会受到干扰。这些链接帮助我理解了这个问题,iphonehacks.com/2014/09/use-display-zoom-iphone-6-plus.htmlpaintcodeapp.com/news/ultimate-guide-to-iphone-resolutions 但是,如何处理它,我仍在弄清楚。很可能需要检查 nativeScale 值,并相应地更新帧!只是一个想法! 【参考方案1】:

经过大量搜索和实验,我能够解决这个问题。

有两件事可以帮助我(我用那个特定的 View xib 文件完成了):

1) 取消选中Use Auto LayoutUse Size Classes

2) 不选择任何 Autoresizing 在 iPhone6 的显示缩放中拉伸的视图。

我希望这对其他人也有帮助。

谢谢 干杯!

【讨论】:

除了禁用自动布局(这对于不同设备的不同屏幕尺寸必不可少)之外,还有其他选择吗? 另一种方法是正确使用自动布局:) 即使使用正确的自动布局,在显示缩放模式下,布局仍可能“损坏”。 那么它仍然是个谜,我想到的唯一解决方案是我们必须通过实现屏幕设计来克服这个问题,并在缩放的 ios 设备上不断测试它。如果您发现任何其他解决方案,请在此处分享作为答案。 会的。使用自动布局时,显示缩放会放大字体并扭曲某些按钮。

以上是关于iPhone 6 显示缩放功能扰乱了整个视图的主要内容,如果未能解决你的问题,请参考以下文章

强制 UISplitViewController 始终以横向显示主视图(仅)(在 iPhone 6 Plus 上)

专注于输入字段和方向更改会扰乱 iOS 6 Safari 上的缩放级别

使用带有缩放功能的 UIWebView 显示 Google 地图

在 iPhone 中使用缩放图像翻转滚动视图

如何在iphone中保存缩放的图像

iPhone 6和iPhone 6 Plus上的UIImageView高度缩放显示模式