使 UITextView 在 UIStackView 中工作
Making a UITextView work inside a UIStackView
我正在尝试将一些 UITextView 添加到 UIStackView,但文本视图未显示。我研究了这个问题,发现的第一个答案是将 UITextViews.enableScrolling
设置为 false
。但是,当我这样做时,文本视图变得很长。它离开了视图控制器并且 UIStackView 也变得非常宽并且超出了视图控制器的边缘。此外(这是真的)UIStackView 中的所有其他内容都消失了。我觉得这很奇怪。
顺便说一下,这是一个垂直堆栈视图。我希望我能更好地理解为什么 UIStackView 会这样。任何有关如何使堆栈视图按预期运行的想法都将不胜感激。顺便说一句,UITextView 不可编辑,也不必响应用户交互。下面是故事板和堆栈设置。
此时堆栈视图或其内容没有使用任何约束。我已将项目之间的间距更新为 8,但这没有任何区别 - 我已经尝试了所有数字 0-8 并且 UITextViews 没有出现任何值。否则,我基本上不理会 UIStackView 值。
我没有足够的代表发表评论,但这是我的建议:在堆栈视图中,您可以为堆栈视图中的每个对象显式设置约束。尝试设置所有高度约束和宽度(使用固定到侧面或显式宽度),以便每个对象都知道如何分布。
来自https://developer.apple.com/documentation/uikit/uistackview:
For all distributions except the fillEqually distribution,
the stack view uses each arranged view’s intrinsicContentSize
property when calculating its size along the stack’s axis.
我正在尝试将一些 UITextView 添加到 UIStackView,但文本视图未显示。我研究了这个问题,发现的第一个答案是将 UITextViews.enableScrolling
设置为 false
。但是,当我这样做时,文本视图变得很长。它离开了视图控制器并且 UIStackView 也变得非常宽并且超出了视图控制器的边缘。此外(这是真的)UIStackView 中的所有其他内容都消失了。我觉得这很奇怪。
顺便说一下,这是一个垂直堆栈视图。我希望我能更好地理解为什么 UIStackView 会这样。任何有关如何使堆栈视图按预期运行的想法都将不胜感激。顺便说一句,UITextView 不可编辑,也不必响应用户交互。下面是故事板和堆栈设置。
此时堆栈视图或其内容没有使用任何约束。我已将项目之间的间距更新为 8,但这没有任何区别 - 我已经尝试了所有数字 0-8 并且 UITextViews 没有出现任何值。否则,我基本上不理会 UIStackView 值。
我没有足够的代表发表评论,但这是我的建议:在堆栈视图中,您可以为堆栈视图中的每个对象显式设置约束。尝试设置所有高度约束和宽度(使用固定到侧面或显式宽度),以便每个对象都知道如何分布。
来自https://developer.apple.com/documentation/uikit/uistackview:
For all distributions except the fillEqually distribution, the stack view uses each arranged view’s
intrinsicContentSize
property when calculating its size along the stack’s axis.