如何在不让表格变灰、搜索字段变为第一响应者和键盘弹出窗口的情况下允许更改范围?
我只是想根据范围刷新显示的数据。
如何在不让表格变灰、搜索字段变为第一响应者和键盘弹出窗口的情况下允许更改范围?
我只是想根据范围刷新显示的数据。
我通过以下方式实现了这一点:
@interface SearchViewController : UIViewController<UISearchBarDelegate, UISearchDisplayDelegate> {
BOOL shouldBeginEditing;
}
@end
@implementation SearchViewController
-(void)searchBar:(UISearchBar *)bar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
{
shouldBeginEditing = NO;
}
-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)bar
{
if (shouldBeginEditing)
{
return YES;
}
else
{
shouldBeginEditing = YES;
return NO;
}
}
@end
如果您使用标准 UISearchBar 范围按钮更改范围,请覆盖 UISearchDisplayDelegate 中的searchDisplayController:shouldReloadTableForSearchScope方法并让它做任何您需要的事情。