如何让 UISearchController 开始隐藏?
How can I make a UISearchController start hidden?
我已使用以下方法将 UISearchController 添加到我的代码中:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.definesPresentationContext = YES;
这将创建我的搜索控制器并将其添加到我的 tableView 的顶部。令人讨厌的是,它开始可见:
我可以通过在导航栏下向上滑动它来隐藏它,这表明代码的底层功能正在运行,但我无法让它开始隐藏,所以我可以将它向下滑动。
我试过调整边缘插入,我试过将导航栏设置为半透明,我试过在线浏览搜索栏教程,但似乎没有解决这个问题。
非常欢迎任何帮助
您是否尝试设置 table 视图的内容偏移量?
[self.tableView setContentOffset:CGPointMake(0, self.searchController.searchBar.frame.size.height) animated:NO];
这里是 swift 4
tableView.setContentOffset(CGPoint(x: 0, y: searchController.searchBar.frame.size.height), animated: true)
从 iOS 11.0 开始你可以使用,
self.navigationItem.searchController = self.searchController;
搜索栏将被隐藏,除非您向下滑动以显示它。
我已使用以下方法将 UISearchController 添加到我的代码中:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.definesPresentationContext = YES;
这将创建我的搜索控制器并将其添加到我的 tableView 的顶部。令人讨厌的是,它开始可见:
我可以通过在导航栏下向上滑动它来隐藏它,这表明代码的底层功能正在运行,但我无法让它开始隐藏,所以我可以将它向下滑动。
我试过调整边缘插入,我试过将导航栏设置为半透明,我试过在线浏览搜索栏教程,但似乎没有解决这个问题。
非常欢迎任何帮助
您是否尝试设置 table 视图的内容偏移量?
[self.tableView setContentOffset:CGPointMake(0, self.searchController.searchBar.frame.size.height) animated:NO];
这里是 swift 4
tableView.setContentOffset(CGPoint(x: 0, y: searchController.searchBar.frame.size.height), animated: true)
从 iOS 11.0 开始你可以使用,
self.navigationItem.searchController = self.searchController;
搜索栏将被隐藏,除非您向下滑动以显示它。