我的应用程序中有UISearchController,这是我用来创建它的代码:
-(void)setSearchBar {
self.resultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
[self.resultsController.tableView registerClass:UITableViewCell.self forCellReuseIdentifier:@"SearchTitleCell"];
self.resultsController.tableView.dataSource = self;
self.resultsController.tableView.delegate = self;
self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.resultsController];
[self.searchController setSearchResultsUpdater:self];
[self.searchController setDelegate:self];
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.1")) {
self.searchController.obscuresBackgroundDuringPresentation = NO;
}
self.extendedLayoutIncludesOpaqueBars = YES;
self.navigationItem.searchController = self.searchController;
self.searchController.searchBar.delegate = self;
}我注意到iOS13可以正常工作,但在iOS12中我看不到照片中显示的searchbar:
IOS 13:

IOS 12:

你知道问题出在哪里吗?
发布于 2020-09-18 03:10:59
在iOS 12中,搜索栏显示在结果控制器的下方。要解决这个问题,你必须在你的代码中设置主控制器的self.definesPresentationContext = true。您也可以在故事板上执行此操作。
https://stackoverflow.com/questions/61077186
复制相似问题