【问题标题】:Can't make table view inactive when search bar is in use. iPhone使用搜索栏时无法使表格视图处于非活动状态。苹果手机
【发布时间】:2010-07-20 21:53:57
【问题描述】:

我有一个表格视图,上面有一个搜索栏,当按下搜索栏时,我希望表格视图变为非活动状态。所以我有这个方法:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
    self.tableView.userInteractionEnabled = NO;
}

同一个类是 UISearchBarDelegate。出于某种原因,虽然它没有禁用表格视图。有什么想法吗?让我知道是否还有其他需要帮助的代码。谢谢。

【问题讨论】:

  • 你有没有 NSLog() 看看它是否被调用过?
  • 是的,我做到了,它被称为。出于某种原因,它并没有禁用它

标签: iphone uitableview uisearchbar uisearchbardelegate


【解决方案1】:

不确定为什么 userInteractionEnabled 不会让您的 UITableView 处于非活动状态,但我可以建议一种替代方法。

我最近将一个项目从手动添加 UISearchBar 作为我的 UITableView 的子视图转移到使用 UISearchDisplayController。我绝对可以推荐这样做。 SearchDisplayController 将在搜索栏后面的 alpha 混合视图中进行动画处理,从而防止与底层表视图交互,从而避免您遇到的问题。

更新:

这可能与您添加 UISearchDisplayController 的方式有关。你的视图层次结构是这样的吗?

【讨论】:

  • 我正在使用 UISearchDisplayController,它仍然不会阻止用户交互。不知道为什么。
  • @marty 好的,这很奇怪。当您调用 UISearchDisplayController setActive 时,您应该会在您的 tableview 上弹出一个半透明的视图。您是在代码中还是从 XIB 中加载 UISearchDisplayController?
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多