【问题标题】:Problem resigning UISearchBar's firstResponder status退出 UISearchBar 的 firstResponder 状态时出现问题
【发布时间】:2010-08-03 13:21:36
【问题描述】:

我的UITableView 上有一个UISearchBar 和一个方法-finishSearching,如下所示:

- (void)finishSearching {
    [overlayViewController.view removeFromSuperview];
    if ([sb isFirstResponder])
        [sb resignFirstResponder];
    myTableView.scrollEnabled = YES;
}

每次我想停止搜索时都会调用此方法。无论是使用取消或搜索按钮,还是只是点击UITableView。问题是当涉及到[sb resignFirstResponder]; 时,我总是得到EXC_BAD_ACCESS,我不知道为什么。我的目标是实现类似地址簿中的行为,您可以在其中点击 searchBar 使其粘在顶部并将灰色覆盖层放在 UITableView 上。

对此有什么建议吗?

最佳
-f

【问题讨论】:

  • 尝试更改顺序(特别是,如果 sb 是 overlayViewController.view 的子视图,那么您将在第一响应者从视图层次结构中删除后辞职,至少在以前的版本中这是一个错误东西)。

标签: iphone uitableview uisearchbar exc-bad-access first-responder


【解决方案1】:

你确定removeFromSuperview sb 不会太早发布吗?尝试先辞职,然后从 superview 中删除视图。

【讨论】:

  • 嗯,我不会从这里的超级视图中删除sb。这是overlayViewController 的视图属性。
  • 我知道。但我想知道谁保留了sb。如果您确定您的对象保留了它,请寻找其他解决方案。
  • 好的,我发现了这个错误。我在辞职第一响应者时产生了一个无限循环,因为我在searchBar 想要辞职firstResponder 状态时调用的方法中调用了我的-finishSearching 方法。无论如何,谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多