Rya*_*yan 5 uinavigationbar uitableview uiscrollview uisearchbar ios
通过a对数据集执行搜索时UISearchBar,搜索结果会成功显示在UITableViewControllers中UITableView.但是,当向下滚动结果时,UITableView行显示在UINavigationBar模拟器的状态栏下方.

这显然不是我想要的样子.理想情况下,我希望它UISearchBar作为UITableView标题,所有搜索结果都包含在UISearchBar范围按钮下面,但我的尝试都没有成功.
以下是相关UITableViewController及其UITableView属性的Storyboard设置.

下面是我用来设置UISearchController它的相关代码UISearchBar.
BallotTunesSearchTableViewController.h
@interface BallotTunesSearchTableViewController : UITableViewController <UISearchControllerDelegate, UISearchResultsUpdating, UISearchBarDelegate>
Run Code Online (Sandbox Code Playgroud)
BallotTunesSearchTableViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
self.appDelegate = [[UIApplication sharedApplication] delegate];
// Initialize the search controller
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
// Setup the search bar
self.searchController.searchBar.delegate = self;
self.searchController.searchBar.scopeButtonTitles = [NSMutableArray arrayWithObjects:SongScopeName, ArtistScopeName, AlbumScopeName, nil];
self.tableView.tableHeaderView = self.searchController.searchBar;
}
Run Code Online (Sandbox Code Playgroud)
更新:请注意,UITableViewController它嵌入在a中UINavigationController,当设置UINavigationBarto 的半透明时NO,UISearchBar幻灯片与视图一起离开UINavigationBar.

另请注意,我没有UISearchBar在故事板中实现(但是,如果我无法使当前的设置工作,我可能会采取这种方式).
经过几次打脸,都归结为缺少这行代码:
self.definesPresentationContext = YES;
Run Code Online (Sandbox Code Playgroud)
将呈现上下文设置为YES指示当视图控制器呈现 时,应覆盖视图控制器的视图UISearchController。
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |