1

如何在不让表格变灰、搜索字段变为第一响应者和键盘弹出窗口的情况下允许更改范围?

我只是想根据范围刷新显示的数据。

4

2 回答 2

2

我通过以下方式实现了这一点:

@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
于 2011-08-08T14:02:28.590 回答
1

如果您使用标准 UISearchBar 范围按钮更改范围,请覆盖 UISearchDisplayDelegate 中的searchDisplayController:shouldReloadTableForSearchScope方法并让它做任何您需要的事情。

于 2010-04-08T21:35:30.297 回答