【问题标题】:Is there a way to shrink a constraint with autolayout without code?有没有办法在没有代码的情况下使用自动布局来缩小约束?
【发布时间】:2014-02-28 21:59:17
【问题描述】:

在不使用代码的情况下,我基本上是在尝试实现这张图片中的“预期结果”:

我想要对“Hello!”的约束标签在屏幕高度较短时缩小其长度。 正如您在“实际结果”中看到的那样,底部的按钮不在屏幕上。我希望图像视图具有固定的宽度和高度。

我知道我可以为约束创建 IBOutlets 并通过类似帖子建议 (autolayout - make height of view relative to half superview height) 的代码来实现,但我会尽量避免使用代码。

附带问题:如果在 IB 中无法做到这一点,那么在代码中做到这一点的最佳方法是什么?

感谢您的帮助!

【问题讨论】:

    标签: objective-c xcode interface-builder autolayout shrink


    【解决方案1】:

    是的。拥有这种“分割高度”约束的最简单方法是在图像视图和屏幕顶部之间放置一个“标题”视图,并将“Hello”标签嵌入到这个新的标题视图中。然后添加一个约束来保持“Hello”标签在标题视图中垂直居中。

    要使标题视图保持正确的大小,请添加约束以使标题视图的顶部固定在屏幕顶部,并将标题视图的底部固定在图像视图的顶部。

    然后您只需添加约束以将按钮和图像视图固定在屏幕底部。 (或者,请参阅下面 Sulthan 的评论。)

    在 Xcode 5.1(测试版)中,有 UI 可以做出更一般的约束,包括您想要的约束,但您必须像这样或在早期版本的代码中这样做。

    【讨论】:

    • 我会先修复相对于超级视图中心的图像 Y,然后再使用“页脚”视图,因为按钮周围的垂直约束也会遇到同样的问题。
    猜你喜欢
    • 2023-03-25
    • 2015-03-17
    • 2019-05-03
    • 2015-06-16
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 2020-10-05
    • 2014-05-26
    相关资源
    最近更新 更多