代码之家  ›  专栏  ›  技术社区  ›  chrisbtoo

UITableView-reloadSectionIndexTitles不调用数据源

  •  1
  • chrisbtoo  · 技术社区  · 15 年前

    我正在努力实现一个 UISearchBar 在一个 UITableView ,其行为类似于iPod应用程序的“艺术家”选项卡中的。

    我有它隐藏的导航栏,并调整搜索框显示“取消”按钮等,但无法让它隐藏部分索引标题。

    - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
    {
      inSearchMode_ = YES; // tell sectionIndexTitlesForTableView: to return nil
      tableView_.scrollEnabled = NO; // works correctly, var is definitely wired
      [tableView_ reloadSectionIndexTitles]; // doesn't call sectionIndexTitlesForTableView:
      ...
    

    我错过什么了吗?是 UITableView -reloadSectionIndexTitles 坏了吗?

    reloadData ,但这样做的副作用是 搜索栏

    2 回复  |  直到 15 年前
        1
  •  1
  •   psychotik    15 年前

    • 将名为ArtistSearchController的子控制器添加到ArtistController
    • 单击搜索框时,将ArtistSearchController作为模态显示在前面(以隐藏艺术家),或者如果仍要在背景中显示艺术家,请添加透明度。
    • 当用户单击“取消”时关闭模式视图。

    这将使您不必操纵原来的控制器/导航栏,并提供更好的可用性

        2
  •  0
  •   chrisbtoo    15 年前

    看来我要做的是使用 UISearchDisplayController 而不是自己动手。我可以修改“TableSearch”示例以使用节和节标题,并且它的行为符合我的要求。