使UITextView在UIStackView

时间:2017-08-15 01:03:12

标签: ios swift uitextview uistackview

我正在尝试将一些UITextView添加到UIStackView,并且文本视图没有显示出来。我已经研究过这个问题,我找到的第一个答案是将UITextViews.enableScrolling设置为false。但是,当我这样做时,文本视图变得非常长。它离开了视图控制器,UIStackView也变得非常宽,超出了视图控制器的边缘。此外(这是真的)UIStackView中的所有其他内容都消失了。我觉得这很奇怪。

顺便提一下,这是一个垂直堆栈视图。我希望我更好地理解为什么UIStackView以这种方式表现。关于如何使堆栈视图按预期运行的任何想法都将是最受欢迎的。顺便说一句,UITextViews不可编辑,不必响应用户交互。下面是故事板和堆栈设置。

View Controller Stack Settings

此时,堆栈视图或其内容没有使用约束。我已经将项目之间的间距更新为8,但这没有区别 - 我已经尝试了所有数字0-8并且UITextViews没有出现任何值。否则,我基本上只留下了UIStackView值。

1 个答案:

答案 0 :(得分:8)

我没有足够的回复评论,但这是我的建议:在堆栈视图中,您可以在堆栈视图中为每个对象显式设置约束。尝试设置所有高度限制&宽度(使用引脚到边或显式宽度),以便每个对象都知道如何分发。

来自https://developer.apple.com/documentation/uikit/uistackview

  

对于除fillEqually分布之外的所有发行版,   堆栈视图使用每个排列的视图intrinsicContentSize   计算沿堆栈轴的大小时的属性。