使用搜索栏+详细视图时,标题标题搞砸了

时间:2015-02-03 18:09:22

标签: xcode uitableview master-detail sections

我正在构建我的第一个应用程序。我的章节标题显示不正确。

  • 我有一个带有搜索栏的主表格视图,可以过滤我的项目。
  • 我在表格视图中有部分
  • 我有一个详细视图的segue,以显示有关已点按项目的更多详细信息。

一切正常。我可以使用搜索栏在主视图中过滤我的项目。部分仍然在搜索结果中正确显示。我也可以点按已过滤搜索结果中的一个项目。 Detail TableView似乎显示更多详细信息。精细。

当我从详细信息视图返回到我的Master tableView时,过滤的项目将显示在其各个部分下。但是 - 原始部分标题也出现(重叠),就像列出了所有(未过滤的)项目一样。

我在显示详细信息之前就发现了表查看主视图的

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String {
    if tableView == self.searchDisplayController!.searchResultsTableView {
        println("COOL")
    } else {
        println("Damn, it doesn't recognize that its filtered.")   
    }

    ...
}

函数触发并认为其“tableView”不再被过滤。

如果我不过滤并点按项目然后返回主视图,该应用程序将完美运行。

有没有人有任何想法我可能做错了什么?

谢谢, 丹尼尔

1 个答案:

答案 0 :(得分:0)

这解决了这个问题。 " self.tableView.reloadData()"造成这种行为:

override func viewWillAppear(animated: Bool) {
    // DO NOT UNCOMMENT THIS!!! IT BREAKS THE SEARCHING - WHEN I SEARCH AND 
    // THEN CLICK ON AN ITEM AND GO TO THE DETAIL VIEW CONTROLLER AND THEN GO 
    // BACK TO THE MAIN VIEW CONTROLLER THEN THE ORIGINAL SECTION HEADERS 
    // APPEAR ON TOP OF THE RESULTS VIEW.
    // self.tableView.reloadData()

    super.viewWillAppear(animated)
}