【问题标题】:How to develop iOS app just like AppStore's searching function?如何像 AppStore 的搜索功能一样开发 iOS 应用?
【发布时间】:2015-10-25 21:14:12
【问题描述】:

我想开发一个简单的字典应用程序,就像 iPhone 上 AppStore 的搜索选项卡:

  1. 第一个屏幕顶部有一个 SeachBar,底部是“历史词”(例如 AppStore 上的“趋势搜索”)。

当用户触摸 SearchBar 时,底部视图是灰色的。触摸灰色区域以离开 Seach 文本框,我的用户可以单击历史单词之一。

  1. 如果他/她在 SearchBar 上键入,则会出现建议词列表,并且他/她可以单击一个词以查看其定义,其中包含该词的 SearchBar(我不希望我的用户必须转到第二视图查看单词的定义,因为如果是这样,他们必须单击“后退”按钮才能在 Seach 文本框上触摸和输入。很可能,我的应用程序只有 1 个 ViewController)。

我知道如何使用 SearchBar 和 TableView 来显示建议词列表,但不知道如何实现其他事情:

  • 将视图设为灰色;触摸灰色区域以离开搜索文本框
  • 隐藏建议词列表(TableView) -> 用户可以再次看到“历史词”
  • 保留 SearchBar -> 用户在看到当前单词定义时可以立即键入以搜索其他单词

感谢阅读,请给我一些关键字,解决上述三个问题的线索。

非常感谢!

【问题讨论】:

  • 太宽泛了。请随便挑一件你不知道的事情问一下。
  • "使视图变灰;触摸灰色区域以离开搜索文本框" --> 显示具有UIModalPresentationOverCurrentContext 和适当不透明度的模态控制器。 Keep the SearchBar 可能会将其添加到导航栏(并使用导航控制器)。

标签: objective-c iphone uitableview uisearchbar


【解决方案1】:

使用UISearchController 创建您想要的页面。

它具有dimsBackgroundDuringPresentation 属性,可以在用户键入时使 backgroundView 变为灰色。

它有- (instancetype)initWithSearchResultsController:(UIViewController *)searchResultsController 方法。您可以使用 resultsController 初始化 UISearchController。对于结果,您可以为所欲为。

最后,您可以设置自定义视图以查看 UISearchController 的“历史词”

【讨论】:

  • 谢谢你,Candost Dagdeviren。在您的帮助下,我已经成功实现了历史词表和建议词表。但是我不知道如何实现单词的定义视图,以便当用户在结果表上单击一个单词时,他/她将看到该单词的定义视图,顶部有搜索栏(请参见上图 4)。如果他/她触摸搜索栏,建议词列表会再次出现。
猜你喜欢
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 2023-03-06
  • 2015-12-14
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多