Jam*_*mes 5 objective-c uisearchbar ios uisearchcontroller
我添加了一个搜索栏和搜索显示控制器(假设这是我在storyboard中添加的,因为他们没有'SearchController'对象被拖出来).
我的问题是如何在SearchController上设置属性呢?self.searchController不起作用,Xcode表示当我将UISearchBar添加到视图时会自动添加它.我究竟做错了什么?我需要访问它的原因是我可以设置结果搜索表,如下所示:
UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
searchResultsController.tableView.dataSource = self;
searchResultsController.tableView.delegate = self;
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
self.searchController.searchResultsUpdater = self;
Run Code Online (Sandbox Code Playgroud)
我注意到这里的例子:https://github.com/dempseyatgithub/Sample-UISearchController
其中说它使用故事板,实际上并没有使用故事板来添加UISearchController,而是通过分配和初始化以及设置框架来使用代码.
小智 19
重要提示:UISearchDisplayController在iOS 8中已弃用.(请注意,UISearchDisplayDelegate也已弃用.)要管理搜索栏的显示并在iOS 8及更高版本中显示搜索结果,请改用UISearchController.
正如官方文档中所提到的,最好停止将旧样式UISearchDisplayController添加到面向iOS 8.0+的应用程序中.但似乎他们没有从Xcode6.1中的UI控制器库中删除旧的.他们还没有添加新的UISearchController.我们等待下一个补丁.
但您仍然可以通过代码添加新的:
_searchController=[[UISearchController alloc] initWithSearchResultsController:self];
Run Code Online (Sandbox Code Playgroud)
rde*_*mar -5
当您将搜索栏和搜索显示控制器对象拖到表格视图上时,名为 searchDisplayController 的 IBOutlet 会自动添加到您的控制器,而不是名为 searchController 的 IBOutlet。它还为您设置数据源和委托。
| 归档时间: |
|
| 查看次数: |
7803 次 |
| 最近记录: |