【问题标题】:Fighting with auto layout与自动布局战斗
【发布时间】:2014-10-18 16:19:38
【问题描述】:

我希望这仅适用于 4 到 6+ 纵向的所有 iPhone。

看看这个为 iPhone 4 设计的自动布局:

此 imageView 的纵横比为 49:59,并且必须保持不变。

imageView 位于 UIView 容器(橙色框)内。橙色容器以 0 空间连接到 4 个角。在界面的底部,另一个容器(白色的)包含 4 个滑块。

这是我对该 imageView 应用的约束:顶部、底部、前导、到橙色容器的尾随和纵横比 49:59。

这是它扩展到其他 iPhone 屏幕的方式:

但我不想那样。看看更大的 iPhone 浪费了多少屏幕。

我想要的是缩放 imageView 直到它触及左右边框。

我想要这个:

在大 iphone 上,视图有足够的空间来缩放和触摸左右边框,同时仍保持相同的纵横比。

我应该对 imageView 应用什么样的约束来做到这一点?我什么都试过了。

【问题讨论】:

  • 图像视图和橙色视图之间的前导和尾随约束有哪些常量值?
  • 38 和 37 但我尝试将其更改为 >= 0 但图像扩展为比屏幕更大。

标签: ios interface-builder autolayout constraints


【解决方案1】:

我还没有尝试过,但我认为它应该可以工作,如果你给橙色视图的左侧和右侧的图像视图约束,常量值为 0(或者其他一些小的数字,如果你想要一点橙色显示)、centerY 约束和纵横比约束。

【讨论】:

  • 适用于除 iPhone 4 之外的所有 iphone。在 iphone 4 上,图像垂直流血。
  • @RubberDuck,“流血”是什么意思?你是在实际设备上测试吗,因为我在 4s 模拟器上看起来不错。
  • 垂直扩展超出橙色容器。这个自动布局是个笑话。
  • @RubberDuck,好吧,如果橙色视图小于 385 (59/49 * 320),就会发生这种情况。
  • 所以你确认自动布局真的是个笑话。它不能做我想要的布局。太棒了。
【解决方案2】:

经过几个小时的战斗,我终于开始工作了。 imageView 的约束是:

centerX、centerY、尾随和前导均 >= 0、顶部和底部均 >= 3 且纵横比锁定为 49:59。

这种自动布局的东西与直观的东西相反。

【讨论】:

    猜你喜欢
    • 2015-09-27
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2014-03-18
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多