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

Posted

技术标签:

【中文标题】UISearchBar-更改范围而不使表格变灰?【英文标题】:UISearchBar- change scope without greying out table? 【发布时间】:2010-03-13 19:08:14 【问题描述】:

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

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

【问题讨论】:

是什么触发了范围的变化? (用户输入等) 【参考方案1】:

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

@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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于UISearchBar-更改范围而不使表格变灰?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使项目变灰的情况下禁用 UITabBarItem

更改未选择的标签栏项目图像的颜色而不使其成为原始图像

如何在C# winform 中对textbox 实现只读,并且不使其变灰,各位知道的提点下

动态更改 UISearchBar 的键盘类型

UISearchBar 的范围按钮覆盖了第一行结果

使 MKMapView 的背景颜色变暗而不使 MKOverlay 变暗