我有一个狭窄的UITextView
(大约 1 行高),我只以编程方式添加文本,在text
单击按钮时设置它的属性。我还手动处理光标位置,selectedRange
在文本更改时设置。只要我只有一行文字,一切都很好。
当我有两行或多行文本并尝试在第一行插入文本时,文本已正确插入并且光标位置仍在正确位置但UITextView
滚动到底部。然后,当我在顶部添加另一段文本时,它会向上滚动到“正确”位置。然后,此模式在除最后一行之外的每一行重复输入,使 UITextView 为每个按下的按钮向上和向下滚动。
UITextView scrollRangeToVisible:
在设置新文本后,我还尝试调用将 selectedRange 属性作为参数传递。那也没有用。
selectedRange
在设置text
. 然后它可以正常工作,但只有在第UITextView
一次向下滚动到底部 0.5 秒之后。这似乎表明setText
UITextView 的方法在某种程度上是异步的,并且在我已经设置selectedRange
或调用之后完成scrollRangeToVisible
,并将 UITextView 重新调整到它认为是所需的。
谁能告诉我发生了什么,以及如何解决这个问题。
谢谢!