2012-01-11 110 views
0

我在我的视图控制器中实现了UITextViewDelegate,当文本选择在textView中发生变化时,需要做些什么。UITextView didChangeSelection没有被调用?

所以我用textview:didChangeSelection听回电事件。它适用于iPhone模拟器和iOS5,但不适用于iPhone4设备。为什么会发生?

调试信息告诉我,当我改变与0长度的范围内选择textview:didChangeSelection是没有得到所谓的....

- (void)textViewDidChangeSelection:(UITextView *)textView 
{ 
    if (textView.selectedRange.location != NSNotFound) { 
     selectRange = textView.selectedRange; 
    } 
} 

任何人都可以帮助解决这个问题?

+0

你确定你将UITextViewDelegate添加到VIEWCONTROLLER中?因为我把它添加到只有文本视图的类中,并且遇到了同样的问题。 – 2014-01-28 09:21:06

回答

0

您是否在头文件中添加了UITextViewDelegate?

+0

是的,我已经添加UITextViewDelegate在我的头文件,其他回调函数,如textviewDidBeginEditing,textviewDidChage效果很好,只有textViewDidChangeSelection只是没有被调用在iOS设备 – 2012-01-11 06:17:15

+0

这很奇怪。你可以重新启动你的设备,删除应用程序,并尝试干净的Xcode构建? – AAV 2012-01-11 17:02:52

+0

我已经尝试过了,它不能正常工作。但是我发现奇怪的是,“textViewDidChangeSelection”只有在双击同一位置上的textView时才会被调用。 (仅在ios4.2中) – 2012-01-12 18:11:00