单击X按钮时重置UISearchBar的文本字段中的文本,但不重新签名firstresponder

时间:2011-09-16 15:45:46

标签: iphone objective-c xcode uisearchbar

我有一个UISearchBar的视图。但是,单击搜索栏中的“X”按钮时,它会删除键盘,但不会删除搜索栏文本字段中的文本。我想要的是:当用户点击x按钮时,文本字段中的文本被重置但键盘保持不动。

我该怎么做?

4 个答案:

答案 0 :(得分:10)

这似乎对我有用。 确保您的View Controller是一个UISearchBarDelegate

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
    searchBar.text = @"";
}

答案 1 :(得分:6)

只需在 searchBarCancelButtonClicked 委托方法中将文字设置为 nil

searchBar.text = nil;

答案 2 :(得分:0)

要清除文字,请使用此searchBar.text = @"";

答案 3 :(得分:-1)

尝试实施UISearchBarDelegate方法-(BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar并返回NO作为结果。

E.g:

    - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
    {
        return NO;
    }