【问题标题】:UITextView: How to programmatically set selectedRange and becomeFirstResponder?UITextView:如何以编程方式设置 selectedRange 和 becomeFirstResponder?
【发布时间】:2010-06-03 21:56:39
【问题描述】:

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

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

问题...

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

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

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

我是否应该在过渡期间通过破解“scrollEnabled”和“可编辑”标志来隐藏丑陋?或者有更好的方法吗?

【问题讨论】:

    标签: iphone uitextview becomefirstresponder


    【解决方案1】:

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

    在设置选定范围时隐藏视图(可能通过在 UITextView 上放置另一个相同大小的视图)以隐藏丑陋的滚动。然后选择该范围的内容未取消隐藏视图,查看viewDideapear后一段时间。

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 2011-12-24
      相关资源
      最近更新 更多