我目前一直在使用textViewDidChangeSelection
来检测用户何时选择了某些文字。我一直面临的一个问题是,当用户移动carot时,它仍会将该消息发送给代理。那么我尝试抓取用户选择的文本并从我的其他方法中获取错误,因为该字符串为空。我当然使用selectedTextRange
属性。那么我尝试在textViewDidChangeSelection
说
//Selected text is the selected text created in the method
//textViewDidChangeSelection.
if (selectedText.length > 0) {
//Do stuff
}
这很好用,除了当用户退格时,if语句被传递,因为某些原因“selectedText”是被删除的字符length>0
。我已经尝试了各种其他的东西,比如检测它是否只是按下的退格等等,但似乎没有任何效果。那么在选择实际文本时如何获取所选文本?我还需要知道何时选择了实际文本,这样我就可以移动一些UI元素而不是每个退格键,因为这样会很烦人。