如何扩展iOs 5+的UI

时间:2014-10-30 15:57:52

标签: ios iphone cocoa-touch storyboard interface-builder

我使用故事板为iPhone 6构建了一个UI 注意:已启用Autolayouts UI元素相对于其他元素具有恒定约束 当我在iPhone 6的模拟器上运行应用程序时,它完全正常,元素定位正确。

当我在iPhone 6 plus和iPhone 5上运行应用程序时会出现问题

在iPhone 6和iPhone 5上,约束具有恒定值,并且由于屏幕尺寸的变化,UI会失真。
我已经完成了raywenderlich blog for autolayouts 如何根据屏幕尺寸上调/下调当前UI?(如果有办法),因为它们共享相同的宽高比?

修改
我主持了一个小型演示here。我想构建一个单独的UI并在形状因子之间进行扩展。

2 个答案:

答案 0 :(得分:2)

这里我附加了一个带有约束设置的项目。可能有很多方法可以设置它们以获得您想要的效果。这只是一种方法。

希望此链接有效。

  

此链接已于2016年4月7日http://speedy.sh/zPEcq/ConstraintsPlayground.zip

中断

实际上还存在一些不需要的约束。 (忘了删除它们)它们是"灰色",并且在绿色和黄色视图下。你可以删除它们。


回答评论:

To" scale"您需要定义应缩放的距离。它是屏幕的宽度吗?应该是多大的规模?应该有最大距离吗?一分钟的距离?你几乎可以做任何有限制的事情,但由于xcode是b * tch,它有时候真的很混乱。

以下是根据屏幕大小缩放两个视图之间距离的示例。灰色视图只是间隔视图,因为您需要为间距视图和容器视图创建宽度与宽度的宽高比。间距视图在生产中应具有清晰的颜色:

  

此链接已于2016年4月7日http://speedy.sh/B7R95/ConstraintsPlayground-2.zip

中断

答案 1 :(得分:0)

  

UI元素的位置相对于其他元素具有恒定的约束。

在这种情况下,不应为UI元素提供恒定的宽度和高度就足够了。在这种情况下,iOS将拉伸UI元素以实现不同UI元素之间的常量约束。

  

如何根据屏幕尺寸上调/下调当前UI?(如果有办法),因为它们具有相同的宽高比?

您可以设置约束以保留元素的宽高比,但我不认为这是您正在寻找的。通常,您不需要考虑宽高比。只要想想如果屏幕更宽或更高,你的UI应该如何表现。

正如Spoek已经指出的那样,访问故事板以找出问题是非常有用的。如果您不想发布故事板,可能需​​要使用屏幕截图更新您的问题,并说明您实施的限制。