UITextview裁剪带三个点的文本?

14

我有一个UITextView显示一些动态内容,大小可能会变化。 TextView不允许滚动,并且它的大小与内容无关。 给定它的自动布局约束条件,例如在iPhone5和iPhone6plus上,TextView具有不同的水平尺寸。

我希望我的文本在必要时被剪辑,并以3个点“…”结束。(在UITextView下面有一个“更多”UIButton打开Safari)

我不确定是否有UITextView属性,或者是否应该考虑一些代码来检查当前情况下文本视图可以显示多少个字符,并相应地修改要显示的字符串(切割并附加@“…”)

谢谢。


为什么使用文本视图而不是标签? - Wain
2个回答

40

你好,它似乎不起作用。我想知道我做错了什么。也许它与另一个属性不兼容?我没有做任何特殊的事情。 - MikaelW
1
当您设置一个过大的字符串时,会发生什么情况?您可能需要将maximumNumberOfLines设置为适合折叠视图截断的值。 - Rory McKinnel
你需要将滚动设置为false: textView.isScrollEnabled = false textView.textContainer.lineBreakMode = .byTruncatingTail - Tinkerbell
3
请注意,如果被截断的行以换行符结束,则不会出现“...”。例如,如果你有类似于“Hello\nHow\nAre you”的内容,并将maximumNumberOfLines设置为2,则会显示“Hello\nHow”,而不是“Hello\nHow...”。 - user509981
@LeGom:是否有像“Hello\nHow\nAre you”这样的情况的官方文档? - Niraj

2
如果您不需要从用户那里编辑文本视图的内容,只需显示内容,则使用UILabel。
上面的白色背景是文本视图,有4行文本的是UILabel,我想您正在尝试实现类似的东西。
只需将换行模式更改为“截去尾部”,并将行数设置为所需值即可。

enter image description here

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接