Xcode/Stackview,空标签在堆栈视图中吓坏了?

Posted

技术标签:

【中文标题】Xcode/Stackview,空标签在堆栈视图中吓坏了?【英文标题】:Xcode/Stackview, empty labels freaks out in stack view? 【发布时间】:2017-10-06 10:07:05 【问题描述】:

希望这里很容易。我有一些标签和文本字段。在它们之间,我想要一些空标签,如果需要的话,它们会是错误文本。但是当我尝试全部堆叠查看时,Xcode 会缩小并且在 viewController 上什么也看不到。 我还需要改变什么才能让它工作吗?

在我点击堆栈视图之前,您可以在这里看到它的图片:

电子邮件标签和文本字段已经在堆栈视图中,密码、gentag 密码和标签/按钮也是如此。

【问题讨论】:

【参考方案1】:

这显然是一个错误。我重复了你的问题。在将它添加到我的堆栈视图之前,我能够通过为每个空的间隔标签设置一个高度/宽度来解决它。这没有任何意义,因为当您将对象添加到堆栈视图时,它会失去它拥有的所有约束。尽管如此,它还是解决了这个问题:

【讨论】:

stackview 需要是电子邮件标签和电子邮件文本字段。我不知道这是否会改变什么? 我刚刚测试过。如何配置堆栈视图并不重要。只要在将空标签添加到堆栈视图之前设置空标签的高度和宽度约束,它就可以工作。它的行为应有尽有。 我刚试过,我给空标签添加了约束。但它仍然做同样的事情。我做错什么了吗?如果这样做的话,我正在使用 Xcode 8.3.3? 乔纳斯。请删除您拥有的每个堆栈视图。点击 S.V.然后在菜单栏上选择 Editor -> UnEmbed。这将删除 S.V.然后为每个空标签添加一个高度/宽度约束。然后根据需要将所有内容添加回您的堆栈视图。 很高兴为您服务!【参考方案2】:

听起来它只是一个自动布局问题(或缺乏)。可能真的很乱,最好继续玩。

正如您已经完成的那样,我首先将每个标签及其文本字段放在水平堆栈视图中并添加约束。

然后我会将这些堆栈视图中的每一个添加到垂直堆栈视图中的各个警告标签并添加约束。

最后我会将所有的 stackview 组合成一个垂直的 stackview!

【讨论】:

刚试了一下,还是和以前一样。一旦我将标签文本更改为空,它就会执行相同的操作。有什么具体的我应该改变的吗? 很高兴您找到了解决方案! (抱歉,我假设您已经对空文本字段进行了限制。) 没问题,我是 xCode 和 swift 的新手 :)

以上是关于Xcode/Stackview,空标签在堆栈视图中吓坏了?的主要内容,如果未能解决你的问题,请参考以下文章

如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?

标签的内容正在堆栈视图中裁剪

在 swift 中以编程方式在堆栈视图中添加标签和文本视图

Swift UIView 从堆栈视图中消失

无法以编程方式在 Swift 的堆栈视图中正确排列两个标签

Swift - 以编程方式向堆栈视图添加标签