【发布时间】:2017-08-05 12:11:12
【问题描述】:
我想使用水平堆栈视图将图标 (UIImage) 放置在标签 (UILabel) 旁边。我想要它,所以图标始终与标签的文本高度相同。如果用户增加系统字体大小,我希望图标相应调整以保持相同的高度。
注意带有图标和标签的堆栈视图位于 UITableViewCell 中。
我该怎么做?
到目前为止,我有以下 AutoLayout 设置:
- UITableViewCell 高度设置为默认值。
- 堆栈视图受限于 UITableViewCell 的大小。
- 堆栈视图对齐和分布设置为填充。
- UILabel 内容拥抱优先级 250 和抗压缩优先级 750。
- UIImageView 内容拥抱优先级 250 和抗压缩优先级 749。
- UIImageView 纵横比 1:1。
- UIImageView 与 UILabel 高度相同。
不用说,我尝试了许多不同的组合,但这是我得到的最好的。我希望 UIImageView(Facebook 徽标)与“某些文本”的高度相同。
【问题讨论】:
-
也许UIImageView和UILabel实际上是相同的高度,如果label与StackView的高度相等(即等于Cell)。 UILabel 垂直居中文本。
-
是的,UILabel 最终拉伸到与 UIImageView 相同的高度。我将 UILabel 的背景着色为灰色以显示这一点。我希望 UILabel 保持其固有高度。
-
您需要以编程方式进行,这里有一篇关于如何根据
UILabel显示的文本和必须显示的宽度知道其高度的帖子:stackoverflow.com/questions/27374612/…
标签: ios xcode autolayout