使用Xamarin捕获iOS UITextField清除事件

Ste*_*rov 3 ios xamarin

我想在按下textview(x)时执行一些操作(重置搜索).

这样的事情:iPhone按下UITextField/UISearchBar的清除按钮时执行操作但我不知道如何使用Xamarin

我有这个:

tbkSearchOrder.ShouldReturn += (textField) => { 
   ComboViewCtl.OnOrdersFiltered (this, tbkSearchOrder.Text);
   return true; 
};
Run Code Online (Sandbox Code Playgroud)

它响应键盘上按下的"搜索"按钮.UITextField有几个类似的方法,但它们是方法,而不是事件或操作或委托.理想情况下,我会避免为该文本字段编写一个大的Delegate类.

rFl*_*lex 8

它们是方法,因为它们实际上返回一个值.C#事件只是接收objet发送的事件的一种方式.

当UITextField启动时(显示键盘并且对象已准备好管理输入事件),将发送事件Started.您可以使用此清除UITextField

UITextField textField = new UITextField();
textField.Started += delegate {
     textField.Text = null;
};
Run Code Online (Sandbox Code Playgroud)

为了处理清除按钮上的点击(遗憾的是这不是一个事件,但如果委托返回true,则无论如何都将清除TextField):

UITextField textField = new UITextField();
textField.ShouldClear += delegate {
    // Insert the handling here
    return true;
};
Run Code Online (Sandbox Code Playgroud)