繁体   English   中英

范围栏在UISearchController中的位置

[英]Positioning of scope bar in UISearchController

我正在开发一个仅限iPad的应用程序,并且在UIViewController中有一个UITableView。 我将UISearchController设置为UITableView的标题。 此搜索控件具有三个范围。 我希望范围选择器位于搜索栏下方 使用下面的代码,我可以在init上获取它,但是当我从输入开始时,选择器将移至右侧, 并保持在那里

这是一个动画:

F ***作用域选择器

这是相关的代码:

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];

提前致谢

我还在我的应用程序中合并了一个UISearchController。 我正在使用Xcode 7.1。

我遇到了同样的问题,只是从代码中删除了“ self.searchController.searchBar.showsScopeBar”。

将该值更改为false或将其完全删除。

self.searchController.searchBar.showsScopeBar = false

这是我从苹果那里读到的一些有趣的东西:

存在搜索栏时,范围栏可能会出现在其附近。 除非您在代码中使用搜索显示控制器,否则范围栏将显示在搜索栏下方,除非您在代码中使用了搜索显示控制器(有关其工作方式的更多信息,请参见UISearchDisplayController类参考)。 当您使用搜索显示控制器时,当设备处于横向(纵向)时,范围栏会显示在搜索栏右侧的搜索栏内(纵向,它位于搜索栏下方)。

因此,对我有用的是仅使用UISearchBar而不是整个UISearchDisplayController。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM