这似乎应该很简单,但我无法弄清楚如何去做。
我在界面构建器中创建了一个UITextView。它不会坐在桌子上或类似的任何东西。
我想做的是当用户一直输入到右边距时,让UITextView向左滚动。
目前它只是一个自动换行,我理解自动换行在大多数情况下都有意义,但我需要它来滚动。我所追求的是它垂直呈现的相同行为。
我已经尝试在viewDidLoad和viewDidAppear中调整UITextView的内容大小,这没有什么区别。
我也玩过IB中的插入设置,但这不会影响可滚动的大小,只是显示它的位置。
有没有人有任何想法?
答案 0 :(得分:2)
如果您只需要滚动一行文字,那么UITextField
可能会更好。 UITextView
用于多行文本输入,这就是自动换行是默认设置的原因。据我所知,你不能覆盖这种行为。
答案 1 :(得分:1)
好吧,它看起来并不像我想要的那样,但是我想出了一个黑客来让我到那儿。
假设我想要一个600的可滚动宽度和250的可见宽度。
第一步是将UITextView扩展为您想要滚动的区域。那么你将在contentSize中加入什么,在本例中为600。
然后将右边插图设置为实际宽度和所需宽度之间的差值。在这种情况下350。
这种方式光标被限制在你需要的宽度但是你想要的宽度右边有文字,毕竟UITextView的宽度是600像素。
现在这里是真正的hackish bit in,如果你敏感或胃部不好,请不要继续阅读。
获取UITextView应该结束的右侧用户界面的图像。将它作为UIImage视图插入NIB并将其放回原位,确保它位于UITextView的顶部。
显示视图时,剪切块位于UITextView的顶部,并隐藏文本溢出。
我并不自豪,但它确实有效。