UISearchBar-更改范围而不会使表格变灰?

时间:2010-03-13 19:08:14

标签: iphone scope uisearchbar uisearchdisplaycontroller first-responder

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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