UISearchDisplayController

UISearchDisplayController

我有一个带有UIViewControllerUISearchDisplayController。我显示搜索结果表视图,但是单击任何单元格都不会触发didSelectRowAtIndexPath:

#pragma mark - UITableViewDelegate
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"did select row");
}

我看过以下相关问题:
  • Why won't my UISearchDisplayController fire the didSelectRowAtIndexPath method?
  • didSelectRowAtIndexPath does not work when uitableview datasource is filtered

  • 但我没有犯同样的错误。视图控制器实现UITableViewDelegateUISearchDisplayDelegateUISearchDisplayController委托和searchResultDelegate连接到情节提要中的视图控制器。但是只是为了确保我在viewDidLoad中做了以下操作:
    self.searchDisplayController.searchResultsDelegate = self;
    self.searchDisplayController.delegate = self;
    

    我什至尝试过:
    self.searchDisplayController.searchResultsTableView.delegate = self;
    

    searchResultsTableView是此视图控制器中唯一的UITableView

    最佳答案

    您在问题中显示的代码是didDeselect,而不是didSelect。因此,如果这就是您的代码中实际所拥有的,那就是问题所在。

    关于ios - UISearchDisplayController不会触发didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18495992/

    10-12 07:32