2013-04-26 56 views
1

我的自定义单元格中有一个UITextView元素,并带有自动拼写纠正功能。当我在输入下一个单词之后输入错误的文本后按空格键,然后按下退格键清除它时,UITextViewdidEndEditing的代表回叫会导致键盘隐藏。 为什么会发生这种情况?我没有在代码中做任何特别的事情。 纠正后默认的行为是否发送末尾编辑回调?UITextView自动更正导致DidEndEditing回调

我没有什么特别的shouldChangeTextInRange:方法实现。

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{ 
    return YES ; 
} 
+0

你可以发布你的'-textView:shouldChangeTextInRange:replacementText:'方法的内容,假设你已经实现了它? – 2013-04-26 13:00:44

+0

我已经添加了方法“textView shouldChangeTextInRange:”的代码,其中我没有实现任何东西,只是返回YES ..是否正确,或者我应该在这里实现其他东西? – 2013-04-29 06:53:03

回答

0

东西正在导致您的UITextView辞职为第一响应者。如果您在-didEndEditing方法中放置断点并查看堆栈跟踪(通过将滑块移动到最右侧使其尽可能详细),您应该看到导致回调的步骤。

我创建了一个包含UITextView的裸机应用程序,实现了委托方法并启用了自动更正。按照你描述的步骤,我做了而不是看到相同的行为。

+1

didEndEditing每次都会调用自动更正的建议... – 2013-04-30 04:14:26

+0

如果将断点放在'-dEndEditing'中,你会在堆栈跟踪中看到什么? – 2013-04-30 13:12:23