UITextView:如何以编程方式设置selectedRange和becomeFirstResponder?

时间:2010-06-03 21:56:40

标签: iphone uitextview becomefirstresponder

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

我如何以编程方式执行相同的操作?假设我有一个名为“在字符1000处编辑”的按钮。我希望将selectedRange设置为[1000,0],然后使textview成为第一个响应者。

...问题

  1. textview.selectedRange setter在从viewDidAppear调用时似乎只有效果。

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

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

    我是否应该在过渡期间通过黑客'scrollEnabled'和'editable'标志来隐藏丑陋?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

你可能会陷入困境。这个怎么样:

设置所选范围时隐藏视图(可能通过在UITextView上放置相同大小的另一个视图)来隐藏丑陋的滚动。然后,当选择范围时,设置取消隐藏视图,在viewDidAppear之后的某个时间。

相关问题