0

这似乎应该很简单,但我不知道该怎么做。

我在界面生成器中创建了一个 UITextView。它不位于表格单元格或任何类似的东西中。

我想做的是让 UITextView 在用户一直键入到右边距时向左滚动。

目前它只是进行自动换行,我知道自动换行在大多数情况下都是有意义的,但我需要它来滚动。我所追求的是它垂直展示的相同行为。

我已经尝试在 viewDidLoad 和 viewDidAppear 中调整 UITextView 的内容大小,但这并没有什么不同。

我也玩过 IB 中的插图设置,但这不会影响可滚动的大小,只会影响它的显示位置。

有没有人有任何想法?

4

2 回答 2

2

如果您只需要一行滚动的文本,那么UITextField. UITextViews 用于多行文本输入,这就是默认自动换行的原因。据我所知,您不能覆盖该行为。

于 2009-10-12T16:35:42.467 回答
1

好的,看起来它不能完全按照我的意愿完成,但我想出了一个技巧来让我到达那里。

假设我想要 600 的可滚动宽度和 250 的可见宽度。

第一步是使 UITextView 与您想要滚动的区域一样宽。因此,您将在 contentSize 中放入什么,在本例中为 600。

然后将右插图设置为实际宽度与您想要的宽度之间的差异。在这种情况下为 350。

这种方式光标被限制在您需要的宽度,但是在您想要的宽度的右侧有可见的文本,毕竟 UITextView 是 600 像素宽。

现在这里是真正骇人听闻的地方,如果您敏感或胃部虚弱,请不要继续阅读。

在 UITextView 应该结束的右侧获取用户界面的图像。将其作为 UIImage 视图插入 NIB 并将其放回原位,确保它位于 UITextView 的顶部。

显示视图时,切口位于 UITextView 顶部并隐藏文本溢出。

我并不骄傲,但它确实有效。

于 2009-10-14T04:19:52.357 回答