为“iPhone”设置的应用程序,但它仍然可以在 iPad 上全屏显示? [关闭]
Posted
技术标签:
【中文标题】为“iPhone”设置的应用程序,但它仍然可以在 iPad 上全屏显示? [关闭]【英文标题】:App set for 'iPhone', but it still stretches to full screen on an iPad? [closed] 【发布时间】:2017-12-19 20:58:24 【问题描述】:我尝试将我的“iPhone”应用程序提交到 App Store,但他们拒绝了它,并指出它需要以 iPhone 分辨率在 iPad 上运行。我认为它会自动执行此操作,因为我将我的应用程序设置为“iPhone”应用程序,而不是通用应用程序。然而,出于某种原因,我的 iPhone 应用程序在 iPad 上运行时仍然尝试拉伸到全屏。请参阅下面的屏幕截图。
Apple Store 回来了:
指南 2.4.1 - 性能 - 硬件兼容性
我们注意到,在运行 ios 11.1 的 iPad 上查看时,您的应用未按预期运行或显示。有关详细信息,请参阅随附的屏幕截图。
后续步骤
要解决此问题,请修改您的应用程序以确保它按预期运行并在 iPad 上以 iPhone 分辨率正确显示。即使您的应用程序是专门为 iPhone 开发的,用户仍然应该能够在 iPad 上使用您的应用程序。
--
在手机上,它可以正常显示:
所有scrollviews的约束如下:
【问题讨论】:
您的项目中有 iPad 大小的启动图像吗?不确定这是否是问题所在,但这是我要检查的第一件事。 @meaning-matters 我不知道。出于某种原因,iPad 也将我的 iPhone 启动图像拉伸到了全屏。 它是否填满了整个 iPad 屏幕而没有任何黑色边框并且右下角没有 (1X) 按钮? @meaning-matters 右下角有黑色边框和一个 1x 按钮。也就是说,点击 1x 按钮只会缩小“最大化”问题的大小(例如,分辨率仍然关闭,就像全屏拉伸一样,只是很小)。 那没关系;您的应用程序伸展是正常的。当问及此事时,Apple 提供或确实得到了哪些细节?一定有别的东西。 【参考方案1】:好问题 - 您很可能遇到了这个简单的问题:
在自动布局中,您必须约束所有视图。
有时您会忘记约束视图(或者可能是所有视图!)
在一些简单的情况下,视图仍然可以“工作”。
在你的情况下,不幸的是,主要视图仍在“工作”,它们正在合理地填满屏幕。
为了让您开始,请确保所有四个约束 - 左、右、上下 - 都已附加。
(您必须看到红框区域中显示的内容。)
这是 Apple 非常愚蠢的决定:尝试让事情“更容易”,如果您完全忽略对视图的约束,它仍然会“工作”(它会尽力适应它中,使用 Xcode 行为中的一些默认值或其他东西,这完全是愚蠢的)。
Apple 有一个非常糟糕的想法:当然,如果缺少约束,它应该根本不编译。 (当然,在不寻常的情况下,您可以在运行时或其他任何情况下将它们放入并标记它;但通常这是计划错误。)
同样,如果您忘记了 one 约束,则会出现错误。但是如果你全部忘记它们,这会非常令人困惑,它不会带来错误甚至警告!
你会得到你所描述的问题。
很可能您遇到了其他问题,但这是通常的简单问题。
【讨论】:
约束全部开启。另外:谁投了反对票,为什么?我很好奇。 啊,限制已开启!你很确定对吧? (网站上的投票几年来一直是随机的 - 不用担心:O)以上是关于为“iPhone”设置的应用程序,但它仍然可以在 iPad 上全屏显示? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章