堆栈视图和内容拥抱优先级 - 意外行为
Posted
技术标签:
【中文标题】堆栈视图和内容拥抱优先级 - 意外行为【英文标题】:Stack View & Content Hugging Priority - Unexpected Behaviour 【发布时间】:2019-05-22 11:41:43 【问题描述】:我在一个集合视图单元格中有一个包含 3 个元素(2 个图像视图和 1 个标签)的堆栈视图,如以下屏幕截图所示:
我想要实现的是让标签占据所有可能的空白空间而不是图像视图,这就是 xib 中显示的内容。
理论上,只要在图像视图上设置更大的Content Hugging Priority
值,就应该实现以下目标,因为高值意味着我们不希望某个视图大于其内容。
但我从各种实验中得到的奇怪结果如下:
1 未按预期工作
ImageViews 上的内容拥抱:251
标签上的内容拥抱:250
2 确定
ImageViews 上的内容拥抱:999
标签上的内容拥抱:250
因此,即使这两种情况在理论上应该以相同的方式工作,(如在界面构建器中)事实是在运行时它们不是!你知道为什么会这样吗?我错过了什么?谢谢!
PS:堆栈视图有Distribution: fill
和居中对齐
【问题讨论】:
【参考方案1】:为 2 张图片设置宽度和高度限制
也别忘了实现sizeForItemAt
【讨论】:
是的,谢谢,我当然知道我可以设置约束并以这种方式解决它(这比我发布的解决方案 #2 更难维护),但这不是我的问题的重点跨度>以上是关于堆栈视图和内容拥抱优先级 - 意外行为的主要内容,如果未能解决你的问题,请参考以下文章