UITextView didChangeSelection 没有被调用?
Posted
技术标签:
【中文标题】UITextView didChangeSelection 没有被调用?【英文标题】:UITextView didChangeSelection not getting called? 【发布时间】:2012-01-11 03:26:25 【问题描述】:我已经在我的视图控制器中实现了 UITextViewDelegate,当 textView 中的文本选择发生变化时,它需要做一些事情。
所以我使用textview:didChangeSelection
来监听回调事件。它适用于 iPhone 模拟器和 ios5,但不适用于 iPhone4 设备。为什么会这样?
调试信息告诉我textview:didChangeSelection
没有被调用,当我更改选择范围为 0 长度时......
- (void)textViewDidChangeSelection:(UITextView *)textView
if (textView.selectedRange.location != NSNotFound)
selectRange = textView.selectedRange;
谁能帮忙解决这个问题?
【问题讨论】:
您确定您已将 UITextViewDelegate 添加到您使用的 VIEWCONTROLLER 中吗?因为我将它添加到只有文本视图的类中,我遇到了同样的问题。 【参考方案1】:你是否在头文件中添加了 UITextViewDelegate ?
【讨论】:
是的,我已经在我的头文件中添加了 UITextViewDelegate,其他回调函数如 textviewDidBeginEditing、textviewDidChage 效果很好,只有 textViewDidChangeSelection 在 ios 设备中没有被调用 这很奇怪。你能重启你的设备,删除应用程序并尝试在它上面构建干净的 Xcode 吗? 我已经尝试过了,但效果不佳。但我发现只有当我双击同一位置的 textView 时才会调用“textViewDidChangeSelection”,这很奇怪。 (仅在 ios4.2 中)以上是关于UITextView didChangeSelection 没有被调用?的主要内容,如果未能解决你的问题,请参考以下文章
当 UITextView 的文本超出 1 行时展开 UITextView 和 UITableView
选择另一个 UITextView 时,如何阻止 UITextView 退出第一响应者/关闭键盘?
从 UIView 中的 UITextView 复制文本后,UITextView 更改为 UIWebDocumentView?