如何在iOS中检测键盘输入?

如何在iOS中检测键盘输入?,ios,events,xamarin,xamarin.ios,keyboard,Ios,Events,Xamarin,Xamarin.ios,Keyboard,我有一个自定义视图,需要它来检测文本输入,就像它是UITextField 我看到过其他问题,人们建议使用“不可见的”UITextField来处理输入,但这在我看来是无效的,因为它是一个带有at文本工具的绘图画布,允许用户输入文本 显然,使用TextField作为辅助对象非常棘手,可能会干扰绘图程序。我找到了答案:基本上,您必须遵循以下步骤: 将[采用(“UIKeyInput”)]属性添加到视图中(修饰类) 使您的视图实现UIKeyInput界面 重写它的可以成为第一响应者方法以返回true 应该

我有一个自定义视图,需要它来检测文本输入,就像它是
UITextField

我看到过其他问题,人们建议使用“不可见的”
UITextField
来处理输入,但这在我看来是无效的,因为它是一个带有at文本工具的绘图画布,允许用户输入文本


显然,使用TextField作为辅助对象非常棘手,可能会干扰绘图程序。

我找到了答案:基本上,您必须遵循以下步骤:

  • [采用(“UIKeyInput”)]
    属性添加到视图中(修饰类)
  • 使您的视图实现
    UIKeyInput
    界面
  • 重写它的
    可以成为第一响应者
    方法以返回
    true
  • 应该实现UIKeyInput接口的
    InsertText
    方法
  • 您可以使用默认值实现UIKeyInput的其余成员(它们大部分是枚举),对于
    HasText
    ,您可以只返回true。以捕获用户键入的文本
  • 使用此设置,只要在希望it开始接收用户输入时调用视图上的
    BecomeFirstResponder
    方法即可


    注意:当我谈论“视图”时,我指的是您视图的“类:)

    附加触摸手势。如果您搜索如何检测图像上的触摸,您将找到许多答案。如果这不适用于您,那么您可以始终使用自定义渲染器和本机触摸检测,但我认为这不是必需的