iphone - 未调用 UITextView textViewShouldEndEditing/textViewDidEndEditing

标签 iphone ios uitextview

我有一个包含多个 UITextFieldUITextView 的屏幕。

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

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

但是,如果当前控件是 UITextView,当用户触摸另一个控件时,既不会调用 textViewShouldEndEditing 也不会调用 textViewDidEndEditing。调用它们的唯一方法是在触摸第二个控件时执行显式 ResignFirstResponder ,但这会导致键盘被关闭,因此新的触摸被有效地忽略(用户必须再次触摸新字段以继续编辑)。

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

最佳答案

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

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

关于iphone - 未调用 UITextView textViewShouldEndEditing/textViewDidEndEditing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569143/

相关文章:

ios - 如何在 OpenGl ES Xcode 中以编程方式使用抗锯齿?

iphone - UILabel 显示不更新

iOS: "Message sent to deallocated instance"当在 UITextView 上显示其自动更正弹出窗口时退出第一响应者

swift - 调整 View 大小时,textview 会抖动

iphone - 在 iOS 上,如何制作 "links"的动态列表或按钮调用带有字符串参数的方法?

iphone - 在MKMapview中如何获取ios中的行车方向列表

ios - 如何将自定义单元格文本字段的文本设置为 Swift 中自定义对象数组内的变量?

ios - 如何滚动到 UITextView 的顶部?

iphone - 在 sqlite3_column_text 中使用列名而不是数字

iphone - 如何在iPhone中的UIAlertView中使用UIWebview