滚动 UITextView 而不换行

Posted

技术标签:

【中文标题】滚动 UITextView 而不换行【英文标题】:Scrolling UITextView without wrapping 【发布时间】:2016-01-22 14:34:11 【问题描述】:

我有一个UITextView,我希望在其中显示不能意外换行的固定宽度文本,并且如果文本不适合视口,则必须提供滚动。

只有UITextView 我似乎无法阻止文本换行。

我还尝试将(更大的)不可滚动的UITextView 放入更小的UIScrollView 中。这让我可以防止包装,但我似乎无法滚动。

我必须更改哪些 Storyboard 属性(或者在更新文本时应该添加代码)才能使滚动正常工作?

【问题讨论】:

【参考方案1】:

我认为这是一个棘手的问题。固定格式会是什么样子?你能提供一个假的例子吗?

不过,如果您想使用自动布局将 textView 放入 scrollView 中,这并非易事。 见:http://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/

您必须为 textView 设置所有约束,然后从主视图添加等宽约束到滚动视图

另一方面,您甚至可以在自动布局中使用框架结构。你可以通过代码创建scrollView,然后将textView添加为子视图,然后计算内容大小,这也是一个令人头疼的问题。

【讨论】:

格式只是从 UNIX 命令行实用程序获得的输出行(实际上就是这样) 你能举个假的例子吗? 确切的内容无关紧要 - 它实际上只是一个使用固定宽度字体呈现的文本文件,但是有太多列(和/或行)无法容纳在视口中。 【参考方案2】:

我通过用UIWebView 替换UITextView(及其包含UIScrollView)解决了这个问题,所需的文本包含在<pre> 块中。

[为安全起见,<pre> 块内的文字先转义]

【讨论】:

以上是关于滚动 UITextView 而不换行的主要内容,如果未能解决你的问题,请参考以下文章

Bash:将字符串添加到文件末尾而不换行

添加换行符后 UITextView 高度变为可滚动

如何让多个div横向排列而不换行

子div超出父div部分横向滚动,不换行

宽度在 IE11 中不换行

js计算li不换行的情况下,ul的宽度--用于做有滚动的导航条