【问题标题】:How can I save the state of an UISearchDisplayController?如何保存 UISearchDisplayController 的状态?
【发布时间】:2013-03-31 10:16:24
【问题描述】:

在我的应用程序中,用户可以从位于 UINavigationBar 的 UISearchBar 进行一些搜索。然后他可以按下单元格,我将为他弹出另一个视图控制器。但是当他按下下一个控制器导航栏中的返回按钮时,我需要将 UISearchDisplayController 与他之前的搜索结果一起弹回。

基本上,我只需要在用户按下后退按钮后返回到控制器的先前状态。但奇怪的是我做不到,因为当我返回初始控制器时,我看到搜索栏处于初始状态并且没有搜索结果。有什么办法解决吗?

为了让事情更加具体和清晰,我在下面发布了一些图片和代码。

初始状态:

当您输入内容时:

然后我就像这样在 UISearchDisplayDelegate 的 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 方法中弹出新控制器:

[parent.navigationController pushViewController:listWordsViewController animated:YES];

然后我可以从 listWordsViewController 中返回,只是默认返回按钮。当我这样做时 - 我只看到初始状态。你有什么建议吗?

【问题讨论】:

  • 这不应该发生 - 它应该回到相同的状态。你能发布更多你的代码吗?
  • 是的,这真的不应该发生。这是我的错。谢谢。

标签: ios uinavigationcontroller uisearchbar uisearchdisplaycontroller


【解决方案1】:

感谢所有查看此问题并尝试提供帮助的人。我发现了一个问题 - 只是在 -viewWillAppear 中,我目前正在与之合作的其他人正在重置导航栏。我傻到没有检查它。

【讨论】:

  • 我想关键点是如果你看到一些奇怪的事情发生——总是查看你的控制器的 -viewWillAppear-viewDidLoad 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
  • 2014-06-07
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多