我有一个由TextField,Button和TableView组成的设计。用户在TextField中输入文本,然后单击启动搜索的按钮。当结果从服务器返回时,结果显示在TableView中。
我想使用SearchBar而不是TextField和Button。我不清楚该怎么做。每个教程和示例我都可以找到关于UISearchBar 和 UISearchDisplayController的讨论,好像这两者是不可分割的。我只想使用SearchBar来启动互联网搜索 - 与TableView完全没有任何联系:我只是偶然地通过TableView显示数据。那么如何从“TextField和Button”切换到SearchBar呢?我想我只需要实现searchBarSearchButtonClicked
。但那是合理的设计吗?我的意思是,为什么人们总是使用UISearchDisplayController?什么是UISearchDisplayController?我不太了解它的价值。
答案 0 :(得分:1)
您不必使用UISearchDisplayController
- 这只是一种“便利”结构,它将表视图与“无结果”消息,搜索栏和几个整洁的动画相结合。您有两种可能的选择,可以通过UISearchBar
进行搜索 - 每次在搜索栏中输入新字符时发送异步搜索请求,同时取消之前的搜索请求以便不接收回调 - 从服务器端的角度来看是昂贵的,但从可用性角度来看还是非常简洁,或者使用您所描述的方法 - 在searchBarSearchButtonClicked
事件上执行搜索。