下午好,
关于苹果公司最近的电子邮件,声明如下:
iPhone或iPad的应用程序必须使用iOS13 SDK或更高版本构建,并使用Xcode故事板提供应用程序的启动屏幕。
我在app store上的应用都是以iOS9为目标的,而我已经有四年左右的时间没有对它们做任何事情了。 他们刚刚过得很好。 在试图更新我的应用程序,以符合苹果的要求,我有一些布局问题。
这些应用程序是为iPad 768 x 1024点和iPhone 320 x 568点编写的。 自从我写了这些应用程序之后,苹果已经推出了更大屏幕的设备等,比如1024x1366分的iPad 12.9 Pro或者414x896分的iPhone 11 Pro Max。
如果我在不改变任何代码的情况下使用最新的Xcode和目标iOS12.1及以上版本运行我的应用程序,那么这些应用程序就可以正常工作。 也就是说,它们可以自动调整大小,从768 x 1024或320 x 568调整到较新设备的较大点数。 老实说,这是一种魔术,它只是工作不需要额外的代码,约束,大小类,自动布局等要求。 Xcode显然正在对视图执行某种神奇的大小调整,而没有我的干预。 这是‘兼容模式’吗?。 此外,调整尺寸还考虑到这些新设备的安全区域,如下所示:
现在,当我从'asset.xcAssets'中移除包含我的启动屏幕的'launchimage',并按照苹果的要求添加一个'launchscreen.storyboard'时,我似乎失去了上面提到的调整大小的魔力。 相反,我的应用程序出现在新的更大的点设备上,但在原来的768×1024或320,568点。 示例如下:
我的应用程序旋转,我在代码中处理基于原始点768 x 1024和320 x 768的旋转。 然而,即使使用这些点,Xcode或运行应用程序,它只是新的自动调整这些点的大小,以更大的新设备的更大的点系统。
我的问题是现在我已经从发射图像切换到了发射屏幕。故事板,我怎么才能打开旧的发射图像方式给我的自动调整大小? 或者,我的免费发射结束了吗?
我知道我们生活在一个自动布局,约束和类大小的世界里,但是当使用启动图像时,我不必对我的代码做任何事情来使用更大的点设备,而在切换到启动屏幕时,这似乎是一个倒退的步骤。故事板,也许我会这样做?
我在这里不是想偷懒,我会做我需要做的事情。 我只是试图理解启动图像自动调整应用程序大小的机制,如果它现在可用,我已经切换到了LaunchScreen.Storyboard。
经过数周艰苦的谷歌,玩每一个界面构建器选项,并未能找到一个解决方案,如果有人能启发我,它将是最感激的。
亲切的问候
黑猩猩
启动图像基本上是告诉操作系统你支持的分辨率。 在较大的显示器上,您的视图将自动缩放。
现在启动图像消失了,没有更多的指示操作系统的结果(s)应用程序是支持的,所以一切都需要通过动态。 用你的话来说,你的免费发射已经结束了,确实。
你需要做的是给你的视图自动布局处理,这样他们就可以自动适应任何屏幕大小。 看看你的扑克计时器应用程序的例子,这应该不会太难实现。 您可能想了解UistackView
,这是一个非常有用的工具,可以用来构建像您这样的布局。