2

我有一个包含文档的 UITextView。如果用户触摸文档,则插入点(selectedRange 属性)被适当设置,UITextView 成为第一响应者(出现键盘)。耶!

我怎样才能以编程方式做同样的事情?假设我有一个标题为“在字符 1,000 处编辑”的按钮。我希望将 selectedRange 设置为 [1000, 0] 然后让 textview 成为第一响应者。

问题...

  1. textview.selectedRange 设置器似乎仅在从 viewDidAppear 调用时才有效。

  2. [textview becomeFirstResponder] 将插入点设置为文档的末尾。

所以,我能做的最好的就是先成为FirstResponder,然后设置selectedRange。用户看到视图滚动到文档底部,然后返回到所需的插入点。有点丑

我是否应该在过渡期间通过破解“scrollEnabled”和“可编辑”标志来隐藏丑陋?还是有更好的方法来做到这一点?

4

1 回答 1

0

你可能会被困在做一个黑客。这个怎么样:

设置选定范围时隐藏视图(可能通过在 UITextView 上放置另一个相同大小的视图)以隐藏丑陋的滚动。Then when the range is selected set unhide the view, some time after viewDidAppear.

于 2010-06-04T01:11:56.620 回答