繁体   English   中英

UIStackView内部的视图未使用AutoLayout调整大小

[英]View inside UIStackView is not resizing with AutoLayout

我有以下屏幕:

在此处输入图片说明

所有视图都在UIStackView内部。 黄色视图在运行时为圆形。 我运行较小的iPhone(5S)时遇到的问题是,包含yellow view light blue视图不会变小,因此底部的red and blue view会缩小。 我希望这两个和green view具有固定的宽度,并且希望light blue view具有高度。

但是由于某种原因,它不是。 我确定是因为我对yellow view设置了限制。 但我不知道是哪一个问题。

这是yellow view约束:

在此处输入图片说明

其他视图的约束是:

  1. 绿景:高度= 64
  2. 红色和蓝色视图:高度= 50

如果有人可以花一些时间查看这些限制条件并帮助我了解如何在屏幕变化时使淡蓝色(和黄色)改变高度,我将不胜感激。

您是否尝试将浅蓝色和黄色视图的“内容压缩抗性优先级”(垂直)降低到小于750,而将绿色,红色和蓝色视图的“内容压缩抗性优先级”(垂直)降低到大于750(甚至1000 /如果是这种情况,则是必需的?)

更新

我看了你的项目。 实际上,问题似乎根本与堆栈视图,约束或DailyStatusViewController 而是,该问题看起来与MainViewController更为相关,后者将Daily Status视图嵌入滚动视图中。 滚动视图既裁剪到边界,又放置在另一个容器视图的后面。 如果在滚动视图上关闭对边界的剪辑,并将其下方的容器视图移动到其后方 ,则将看到堆栈视图已正确布局,但已被剪切。

至于为什么剪切它们,请记住,堆栈视图的所需高度限制为300,而嵌入其中的滚动视图的高度限制为屏幕高度的45%。 因此,在较小的屏幕上,只有不到300个点可用于显示“每日状态”视图,因此已被裁剪。 您可能想从外部堆栈视图中删除固定高度约束,而是将其约束到根视图的边缘。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM