gpt4 book ai didi

ios - UIScrollView 里面的 UITextView 不显示长文本

转载 作者:行者123 更新时间:2023-11-28 07:49:34 24 4
gpt4 key购买 nike

我在 UIScrollView 中有一个 UITextView。如果我尝试显示具有特定字体大小的长文本,则文本不会显示。使用较短的文本或减小字体大小,文本会再次显示。我究竟做错了什么?

此处自动布局的屏幕截图(选择的项目是 TextView ): enter image description here

最佳答案

UITextView继承自UIScrollView

open class UITextView : UIScrollView, UITextInput, UIContentSizeCategoryAdjusting

所以把ScrollView放在scrollView里面是不好的做法。您在 UITextView 中看不到长文本的原因是 UITextView 变得可滚动。 您还没有指定 scrollView 的内容宽度,因此计算结果为一行长文本。但是您可以滚动它,因为您将滚动 scrollView。更好的方法是在 ScrollView 中设置标签并设置标签 numberOfLines = 0。将标签底部填充到 ScrollView 的底部,将标签顶部填充到标签顶部的某些项目,您将获得可滚动的文本。

我刚刚了解到您不需要 scrollView 来放置长文本。

您可以只使用 UITextView 来满足您的需要。

  1. 删除您的 scrollView。
  2. 添加一个 UITextView。
  3. 按照描述设置约束并使用屏幕截图对其进行数学运算
    • 顶部空间到ReadingTimeLabel
    • 将底部与 Superview/底部布局指南对齐
    • 领导 Superview 的空间
    • 到 Superview 的尾随空格

UITextViewConstraints

你会得到如屏幕截图所示的结果

滚动顶部:

enter image description here

底部滚动:

enter image description here

注意:您可以在属性检查器中禁用 UITextView 编辑。

但是如果你出于某种原因需要 ScrollView :按照描述设置约束,也如屏幕截图所示匹配它们。

  1. 添加scrollView约束(Superview是放置scrollView的 View ):- 顶部空间到 ReadingTimeLabel- 将底部与 Superview/Bottom Layout Guide 对齐- 对齐导致Superview- 将尾部与 Superview 对齐

  2. 请在 scrollView 中添加一个 UIView。用它作为容器。

  3. 为容器添加约束。 (Superview是scrollView)-对齐领导到 super View -Align Trailing to Superview-SuperView 的顶部空间-SuperView 的底部空间- 与 SuperView 等宽

  4. 在容器中添加一个 UILabel。 (Superview 是容器)。

  5. 为 UILabel 添加约束。-对齐领导到 super View -Align Trailing to Superview-SuperView 的顶部空间-SuperView 的底部空间

  6. 对于属性检查器中的标签设置 Lines = 0 或使用代码

label.numberOfLines = 0

scrollView constraints

container constraints

label constraints

你会得到如屏幕截图所示的结果

滚动顶部

result 1

滚动底部

result 2

关于ios - UIScrollView 里面的 UITextView 不显示长文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50080419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com