【问题标题】:how can I use constraints on a group of elements in storyboard in ios?如何在 ios 的情节提要中对一组元素使用约束?
【发布时间】:2017-03-26 22:30:45
【问题描述】:

在我的UIStoryBoard我有以下情况:

UIViewController 有两个元素 - 一个按钮和一个标签。 每个组件上的文本都是从localized.strings 中获取的,因此每次用户选择不同的语言时它都有不同的长度。 在我的代码中:

myButton.setTitle("TextOnButton".localized(), for: .normal)
myButton.sizeToFit()
txtLabel.text = "txt".localized()

我应该如何附加约束以使这两个元素 - 当组合在一起时 - 始终位于中心?例如:

这不在中间:

这是在中间:

如果只有一个元素,我会附加约束midX,仅此而已,但是当有两个元素的情况下呢?我可以以某种方式将约束附加到元素组吗?

【问题讨论】:

    标签: ios swift uistoryboard nslayoutconstraint


    【解决方案1】:

    您可以借助 Stack View 来实现这一目标。在 StoryBoard 中选择两个标签并单击以下按钮:

    在层次结构中,您会注意到两个标签都包含在 Stack View 中。现在您只需将Horizontally in ContainerVertically in Containerconstraints 添加到堆栈视图。 Finally you can add some Spacing between the two labels in the attribute inspector when the stack view is selected.
    最终结果:

    【讨论】:

    • hm 看起来真的很好,但是当我像你写的那样添加这两个元素时(我完全按照你说的做了) - 突然堆栈变得巨大......当我去属性时,我看到了这个:imgur.com/sXDPKWL 在我看来它像一个 xcode 错误,我无法更改此值...它是 xcode 8.1
    • 这有点奇怪,因为堆栈视图通常会调整标签fit to content 的大小。无论如何,在stack viewor/ 和两个标签上添加一些 with 和 hight 约束,你应该会很好。
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2019-12-17
    • 2015-04-20
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    相关资源
    最近更新 更多