我正在开发一个仅限iPad的应用程序,而且我在UIViewController中有一个UITableView。我设置了一个 UISearchController 作为UITableView的标题。此搜索控件有三个范围。我希望范围选择器在搜索栏下方 。使用下面这段代码,我可以在init处获得它,但是当我从输入开始时,选择器向右移动,并保持。
这是一个动画:
以下是相关代码:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[@"Uno",@"Dos", @"Tres"];
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
self.searchController.searchBar.showsScopeBar = YES;
self.definesPresentationContext = YES;
[self.searchController.searchBar sizeToFit];
提前致谢
答案 0 :(得分:1)
我还在我的应用程序中加入了一个UISearchController。我正在使用Xcode 7.1。
我遇到了同样的问题,只是删除了" self.searchController.searchBar.showsScopeBar"从我的代码。
将值更改为false或将其完全删除。
self.searchController.searchBar.showsScopeBar = false
答案 1 :(得分:0)
这是我从苹果那里读到的有趣内容:
当存在搜索栏时,可在其附近显示范围栏。该 范围栏显示在搜索栏下方,无论方向如何, 除非您在代码中使用搜索显示控制器(更多信息) 有关其工作方式的信息,请参阅UISearchDisplayController类 参考)。使用搜索显示控制器时,范围栏为 显示在搜索栏右侧的搜索栏中 设备处于横向(纵向,是 在搜索栏下方。)
那么对我有用的只是使用UISearchBar而不是整个UISearchDisplayController。