【问题标题】:Making a UITextView work inside a UIStackView使 UITextView 在 UIStackView 中工作
【发布时间】:2018-01-22 22:01:39
【问题描述】:

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

顺便说一下,这是一个垂直堆栈视图。我希望我能更好地理解为什么 UIStackView 会这样。任何关于如何让堆栈视图按预期运行的想法都将不胜感激。顺便说一句,UITextViews 是不可编辑的,也不必响应用户交互。下面是故事板和堆栈设置。

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

【问题讨论】:

  • 你对堆栈视图有什么限制?这将影响它里面的一切
  • 你能展示你的控制器在故事板中的样子吗?还有你为stackview参数设置了什么值。
  • 我已经更新了内容来回答你的问题。

标签: ios swift uitextview uistackview


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多