我曾尝试将我的“iPhone”应用程序提交到 App Store,但他们以错误为由拒绝了它,理由是它需要以 iPhone 分辨率在 iPad 上运行。我假设它会自动执行此操作,因为我将我的应用程序设置为“iPhone”应用程序,而不是通用应用程序。然而,出于某种原因,我的 iPhone 应用程序在 iPad 上运行时仍会尝试拉伸(stretch)至全屏。请参见下面的屏幕截图。
Apple Store 回来了:
指南 2.4.1 - 性能 - 硬件兼容性
我们注意到,当在运行 iOS 11.1 的 iPad 上查看时,您的应用程序未按预期运行或显示。有关详细信息,请参阅随附的屏幕截图。
后续步骤
要解决此问题,请修改您的应用以确保其按预期运行并在 iPad 上以 iPhone 分辨率正确显示。即使您的应用程序是专门为 iPhone 开发的,用户仍然可以在 iPad 上使用您的应用程序。
--
在手机上,它正确显示:
所有scrollviews的约束如下:
好问题 - 很可能您遇到了这个简单的问题:
在自动布局中,您必须限制所有 View 。
有时您会忘记约束一个 View (或者可能是所有 View !)
在一些简单的情况下, View 仍然“有效”。
在您的情况下,尽管运气不佳,主要 View 仍在“工作”,它们合理地填满了屏幕。
为了让您开始,请确保附加了所有四个约束 - 左、右、上、下。
(你必须看到红框区域显示的内容。)
这是 Apple 的一个极其愚蠢的决定:试图让事情变得“更简单”,如果你完全忽略对 View 的约束,它仍然会“工作”(它会尝试最好地适应它在,使用 Xcode 行为中的一些默认值或其他东西,这完全是愚蠢的)。
Apple 有一个非常糟糕的想法:当然,如果缺少约束,它应该不会编译。 (当然,在不寻常的情况下,您可以在运行时或其他任何时间将它们放入,并标记它;但通常这是计划错误。)
同样,如果您忘记了一个 约束,则会出现错误。但令人困惑的是,如果您将它们全部忘记,它不会出现错误甚至警告!
你会得到你所描述的问题。
很可能是您遇到了其他问题,但这是常见的简单问题。