在 iOS9 中强制缩放应用

Posted

技术标签:

【中文标题】在 iOS9 中强制缩放应用【英文标题】:Force to zoom app in iOS9 【发布时间】:2015-09-21 12:21:50 【问题描述】:

我有一个在 iPhone 6 中的应用程序,我希望它按比例缩放和缩放。 基本上我想从设置中模仿应用缩放。目前,当我在设置中使用缩放模式运行应用程序时,一切正常,但是当我在没有设置缩放模式的情况下运行它时,显示的视图会更小。我该如何解决?

【问题讨论】:

您要放大的视图类型是什么? UIView。整个应用程序被重新调整,大量内容仍未使用。我只有在 ios9 上才有这个问题 你的意思是按钮、文本字段等对象在 UIView 缩放时没有缩放? 不,所有内容都没有缩放 我不使用尺寸等级,也不使用自动布局。我希望应用程序显示从 iPhone 5 缩放到 6 的相同内容 【参考方案1】:

来自 Apple 的 What's New in iOS 文档:

要让系统知道您的应用支持 iPhone 6 屏幕尺寸,请在您的应用包中包含一个故事板启动屏幕文件。在运行时,系统会查找情节提要启动屏幕文件。如果存在这样的文件,系统会假定您的应用明确支持 iPhone 6 和 6 Plus,并以全屏模式运行。如果不存在这样的图像,系统会报告较小的屏幕尺寸(320 x 480 点或 320 x 568 点),以便您的应用基于屏幕的计算继续正确。然后缩放内容以适应更大的屏幕。

如果您不提供启动屏幕文件(并且也不提供 iPhone 6 和 6 Plus 的启动屏幕图像),您的应用将被缩放,而不是在全屏模式下运行。

Apple 确实建议使用尺寸等级和自动布局,以便您的应用的 UI 能够适应。您的用户可能会对您选择扩展应用程序不满意,因为您不会在这些较新的设备上利用更大的屏幕尺寸。

【讨论】:

所以为了达到所描述的结果,我必须根据我的理解实现尺寸类和自动布局。 我没有显示启动屏幕或图像,我的应用显示的顶部和底部都有黑色边框。 没有。通过不使用启动屏幕文件,您可以按原样扩展您的应用程序,而无需使用大小类和自动布局。我只说不建议这样做。至于黑色边框,你必须提供一些启动图片,否则iOS会认为你的应用甚至不支持4英寸iPhone和信箱。但如果你正在学习如何做到这一点,学习更好的方法。使用 Auto Layout 和 size classes。从长远来看,如果您打算维护或升级此应用程序,它将为您节省大量时间和精力。【参考方案2】:

只需为我的一张启动图像添加名称 Default-568h@2x.png 即可解决,现在我的应用程序已缩放。我不得不说我没有设置 Storyboard 启动屏幕文件。感谢@PetahChristian 的信箱提示,我能够做到这一点。

至于黑色边框,你必须提供一些启动图片,否则 iOS 会认为你的应用甚至不支持 4 英寸 iPhone 和信箱它

【讨论】:

您回答了第二个问题,但没有提供原始问题的答案。 :) 原始问题的答案是使用情节提要启动屏幕文件。您还应该通过提供该信息来改进您的答案!

以上是关于在 iOS9 中强制缩放应用的主要内容,如果未能解决你的问题,请参考以下文章

ios9中的强制方向

iOS9:替代 UIDevice.currentDevice().setValue(...) 强制方向

位于虚拟键盘下方的 iOS 7.1 输入字段强制缩放焦点

在 iOS 9 中强制视图控制器方向

强制执行 iOS 应用程序传输安全性

2017年iOS应用将强制使用HTTPS安全加密-b