【发布时间】:2015-10-28 21:57:15
【问题描述】:
我的应用程序中有以下代码,特别是在设置我的UISearchController 的viewDidLoad: 中。
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.definesPresentationContext = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.searchBarStyle = UISearchBarStyleProminent;
[_tableView setTableHeaderView:_searchController.searchBar];
每当调用搜索栏(添加到tableView)时,UIStatusBar 颜色就会从UIStatusBarStyleLightContent 变为深色(从白色变为黑色)。现在,我想知道我是否设置了,
self.definesPresentationContext = NO;
到以下:
self.definesPresentationContext = YES;
问题已解决,UIStatusBar 颜色得以保留。然而,另一个问题出现了。当self.definesPresentationContext 设置为YES
,在调用时,搜索栏出于某种原因会向下移动,恰巧(或理所当然地)在UIRefreshControl 底部显示在tableView 的下方。
【问题讨论】:
-
你解决过这个问题吗?我也有同样的问题。
-
如果我将 hidesNavigationBarDuringPresentation 设置为 YES,它不起作用,无论我做什么,条都会变成黑色(从白色)。
-
关注这个答案https://stackoverflow.com/a/68194368/9079248 它就像一个魅力
标签: ios uitableview uistatusbar uisearchcontroller uirefreshcontrol