当按下UITextField/UISearchBar的清除按钮时,iPhone会执行操作

Dav*_*ave 19 iphone uitextfield uisearchbar

是否可以访问委托方法,以便在UITextField/UISearchBar上按下"清除"按钮时执行其他操作?

谢谢

Kev*_*tre 34

请参阅:UITextFieldDelegate协议参考

如果将视图控制器设置为文本字段的委托(可以在界面构建器中完成),则可以使用:

- (void)clearSearchTextField
{
  ...
}

- (BOOL)textFieldShouldClear:(UITextField *)textField
{
  if (textField == self.searchTextField) [self clearSearchTextField];
  return YES;
}
Run Code Online (Sandbox Code Playgroud)

  • 太棒了,这适用于UITextField,UISearchBar怎么样? (3认同)

Rba*_*bar 6

对于Swift 3:

在UITextField上按下"清除"按钮时执行操作

func textFieldShouldClear(_ textField: UITextField) -> Bool {
    if textField == yourTextFieldName {
        // do some action
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)