Xcode 期望堆栈 View 中的 UILabel 具有比实际高度更大的高度

标签 xcode swift uilabel uistackview

我正在尝试将两组相同大小的 UILabel 直接放在 UIView 上的 UITextField 上方。我认为这将是堆栈 View 的绝佳用途。

Here is a screenshot of my elements

但是,出于某种原因,Xcode 似乎预计 UILabel 会比应有的高度高得多,并导致出现有关布局的警告。

Here are the warnings

选择 UILabel 后,您可以看到轮廓。您也可以在另一个 UILabel 上看到同样大小的轮廓,并且在选择堆栈 View 元素时它也会显示更大的区域。单击 UITextField 时,轮廓显示为从 UILabel 的轮廓结束处开始。使用“解决自动布局问题”到“更新框架”将使堆栈 View 向外扩展以匹配轮廓的大小,但它会立即跳回原始大小。

Gold highlight around an area much larger than it should be

我是否误用或错误配置了堆栈 View ?或者还有其他问题吗?

我正在使用 Xcode 7.3 build 7D111g。

最佳答案

这是因为您的 label 正在填充 stackview

不要对 stackview 进行高度限制。只需将以下两个约束添加到顶部 stackview

  1. 顶层空间
  2. 在容器中水平居中

enter image description here

Stackview 将从其内容获取高度。

检查更新后的 GIF :

enter image description here

所有警告结束。

希望对您有所帮助。

关于Xcode 期望堆栈 View 中的 UILabel 具有比实际高度更大的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045600/

相关文章:

ios - 在不了解代码的情况下发送应用程序

ios - UITabBarItem 图像为蓝色且未更改

iOS + swift 2 : Dynamic height in UITableViewCell doesn't work with an empty view

ios - Swift 中 NSFileProviderExtension 的使用示例有哪些?

ios - UITableViewCell中的UILabel的高度问题

swift - iOS 11 UILabel 自动换行在文本太长时不起作用

ios - iOS 应用程序崩溃时的内存转储

c - XCode编译C代码时出现问题

ios - swift 3 Xcode : How to display battery levels as an integer?

ios - 检测 UIView/UILabel 何时重绘自身?