searchBarCancelButtonClicked委托方法未被调用。有什么方法可以打电话吗?
问题描述:
UIViewController实现放置一个UITableView UISearchBar并被实现的视图。但是你不能调用searchBarCancelButtonClicked。不知道是什么原因。searchBarCancelButtonClicked委托方法未被调用。有什么方法可以打电话吗?
答
确保您的UIViewController设为您的UISearchBar的代表,而且它采用了UISearchBarDelegate协议。
答
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
// This method has been called when u enter some text on search or Cancel the search.
// so make some condition for example:
if([searchText isEqualToString:@""] || searchText==nil) {
// Nothing to search, empty result.
searching = NO;
[mytableView reloadData];
}
}
希望它有帮助。
答
当我在UIScrollView中有一个UISearchBar时,遇到了同样的问题。据我所知,你在UITableView中有这个问题,它是UIScrollView的一个子类。
在什么情况下,我是帮助设置
tableView.delaysContentTouches = NO;
似乎searchBarCancelButtonClicked
方法不与设置为YES
,这是默认设置很好地工作。
答
为什么searchBarCancelButtonClicked不火可能是因为您的UISearchBar不显示取消按钮的原因。您可以显示这样的取消按钮:
searchBar.showsCancelButton = true
我有同样的问题,使取消按钮节目制作searchBarCancelButtonClicked火如预期。
答
在我的情况是一个不受控制的userInteractionEnabled = NO
我有完全相同的问题。我的视图控制器是搜索栏的代表,它采用UISearchBarDelegate协议。 – 2010-12-07 17:33:23
我也有同样的问题。一切都应该正确设置。所有其他委托方法都会被调用,但这不是。如果找到理由,我会很高兴。 – Petar 2012-01-12 12:46:13
检查这个问题。它帮助了我。 http://stackoverflow.com/questions/6004438/uisearchbar-delegate-not-responding-to-cancel-button – derpoliuk 2013-08-14 15:58:18