【发布时间】:2015-05-03 08:18:34
【问题描述】:
我正在调整我的 UI 应用程序,但我遇到了一个无法解决的问题。
正如我所见,Compact 高度会影响所有 4.7 英寸以下的 iPhone,但我的 UI 很好,除了 iPhone 4S(3.5 英寸)。
我不想修改所有 4.7 英寸以下 iPhone 的布局,只修改 iPhone 4S,同时我不想遗漏这台设备。
有什么解决方法可以让我设置修改,但仅适用于 3.5 英寸的肖像?还是我应该告别 1 亿台设备?
我知道这是一个棘手的问题,几乎是一次民意调查,但从技术上讲,我想在这里找到最好的出路。
【问题讨论】:
-
在这里查看我的答案:stackoverflow.com/a/28093987/1135714
-
谢谢@CeceXX 你的意思是在代码中要求 iPhone 4S,如果是,手动设置约束?
-
我发现通过代码创建
NSLayoutConstraints约束并根据用户使用的设备调整它们的constant值真的很酷。试一试。 -
您在 3.5 英寸屏幕上的 UI 有什么具体问题?尺寸等级不允许您区分 4S 和 4.7 英寸以下的手机,但您可以使用使其适用于所有屏幕的约束(例如相对于视图的高度进行约束)。
-
使用约束的目的是让您不必检查您所在的屏幕。你还没有回答我关于细节的问题。你基本上有2个选择;你可以让你的 UI 元素靠得更近,或者你可以让它们更小。这两件事都可以根据屏幕的高度自动完成。如果您不能使用这些自动方式来获得正确的外观,您可以随时在代码中检查屏幕大小,并使用它来替换或修改约束。您应该发布您的 UI 图像,并描述您尝试过的限制条件。
标签: ios iphone xcode autolayout size-classes