2

我一直在关注 Apple 的 TableSearch 代码示例,但它对我不起作用,我认为我所做的一切都与他们一样。每当用户在搜索框中键入任何内容时,都应该触发下面的方法,但它永远不会被我触发,只是在示例应用程序上。

我的头文件有这个实现:

@interface ContactsTableVC : UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>{

我不确定我错过了什么或在哪里看。

我的 NSLog 永远不会被调用。

谢谢您的帮助!

    - (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString searchScope:(NSInteger)searchOption
{
    NSLog(@"The shouldreloadtableforsearchstring method has been called!");
    [self filterContentForSearchText:searchString];

    // Return YES to cause the search result table view to be reloaded.
    return YES;
}
4

2 回答 2

0

唐,我觉得很笨。我至少看了 100 遍所有东西,以确保我做对了,而且通常情况下,这是我忽略的小事。我的 TableViewController xib 在 Interface Builder 中不知何故有两个 SearchDisplayControllers。它默认为第一个,未链接到搜索栏。我只需要删除第一个 SearchDisplayController 并且一切都开始工作......

感谢@Jordan 的快速回复。非常感激!

于 2010-05-13T17:15:39.370 回答
0

您是否在@interface ContactsTableVC 文件中添加了委托 UISearchDisplayDelegate。

于 2010-05-13T16:59:22.370 回答