未调用UITextView textViewShouldEndEditing / textViewDidEndEditing

时间:2011-12-19 23:52:37

标签: iphone ios uitextview

我的屏幕上有多个UITextFieldUITextView s。

即使结束编辑UITextField的“官方”方法是触摸键盘上的“完成”键,UITextView的“官方”方法是触摸外部完成按钮 - 我支持两者 - 我无法通过简单地触摸其他控件来阻止用户切换到另一个文本字段或文本视图。

如果正在编辑的当前控件是UITextField,则此方法可以正常工作。当用户触摸第二个控件时,为当前文本字段调用TextFieldDidEndEditing:,我可以处理该字段中的数据。

但是,如果当前控件是UITextView,则当用户触摸另一个控件时,textViewShouldEndEditingtextViewDidEndEditing都不会被调用。导致它们被调用的唯一方法是在触摸第二个控件时进行显式ResignFirstResponder,但这会导致键盘被解除,因此新触摸被有效忽略(用户必须触摸新的字段再次恢复编辑)。

当触摸另一个控件时,有没有办法让UITextView表现得像UITextField

1 个答案:

答案 0 :(得分:0)

在textViewShouldEndEditing和textViewDidEndEditing方法中放入一个if-else子句。

- (void)textViewDidBeginEditing:(UITextView *)textView
{
   if (textView = (your text view property)
   {
      //do something
   }
}