【发布时间】:2012-11-17 05:29:27
【问题描述】:
我想知道UITextView的selecedRange,我用的是委托方法testViewDidChangeSelection。问题是这个方法只在我更改选择时调用,但是如果我点击并按住 textView,放大镜会出现并且还会选择一些文本而不调用这个函数。就我而言,我的文本视图不可编辑,用户只能选择和复制。我想知道我怎样才能知道放大镜被关闭,以便我可以得到选定的文本信息。或者还有其他方法可以实现吗?
感谢帮我分析这个问题的各位,终于找到了解决办法。我真正的问题是当我旋转我的设备时,选择丢失了。在旋转过程中,我重绘了 textView 并重置了它的文本。当我们重置 UItextview 的文本时,它的属性 selectedRange 也会被重置,这就是选择丢失的原因。谢谢 jimpic 和 NobleK :)
【问题讨论】:
-
我刚试了一下,总是调用委托方法。你能详细解释一下你在做什么,所以不会调用该方法吗?
-
我在textViewer上长按,然后放大镜会出现,然后我松开长按,会有一些文本被选中对吧?但是 testViewDidChangeSelection 方法没有被调用
-
no 不会选择文本,但仍会使用更新的光标位置调用该方法。
-
你可以点击一个区域,而不仅仅是一个点,如果你的手指覆盖了一个单词,这个单词就会被选中。您可以使用 Notes 应用进行测试。
-
按住时手指不要移动,所以光标位置不会改变。
标签: ios text uitextview