我在我的表格视图顶部实现了一个搜索栏和搜索显示控制器。隐藏UISearchBar直到用户滚动?
当视图加载搜索栏并且相对范围始终可见时。
有没有简单的方法来隐藏它,直到用户向下滚动,就像它发生在音乐应用程序中一样?
我在我的表格视图顶部实现了一个搜索栏和搜索显示控制器。隐藏UISearchBar直到用户滚动?
当视图加载搜索栏并且相对范围始终可见时。
有没有简单的方法来隐藏它,直到用户向下滚动,就像它发生在音乐应用程序中一样?
您需要添加搜索栏为表视图的标题,然后设置表视图的contentoffset
财产viewDidLoad
如,
[self.tableView setContentOffset:CGPointMake(0,44) animated:YES];//or (0, 88) depends on the height of it
对于搜索显示控制器,你可以试试这个为好,
[self.searchDisplayController setActive:NO animated:YES];
没有硬编码
[self.tableView setContentOffset:CGPointMake(0.0, self.tableView.tableHeaderView.frame.size.height) animated:YES];
这完美的作品。令人敬畏的工作codercat! –
另一种方法为iOS的7并使用UINavigationController
[self.tableView setContentOffset:CGPointMake(0, self.searchBar.height + self.navigationController.navigationBar.height)];
最好的方法,我没有在
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:YES];
[self performSelector:@selector(reload:) withObject:nil afterDelay:0.0];
self.edgesForExtendedLayout = UIRectEdgeNone;
}
- (void)reload:(__unused id)sender {
[self.searchDisplayController setActive:YES];
[self.tableView reloadData];
[self.refreshControl endRefreshing];
} else {
[self.refreshControl endRefreshing];
[[[UIAlertView alloc]initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show];
}
}
感谢
的头发拉了几个小时后重装tableview中,一些在iOS工作
与可变高度的行
考虑到搜索栏的行数是tableView.tableHeaderView
@interface MyTableViewController()
@property (nonatomic, assign) BOOL firstLayout;
@end
- (void) viewDidLoad {
[super viewDidLoad];
self.firstLayout = YES;
//your code
}
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
if(self.firstLayout){
CGPoint offset = CGPointMake(0, self.tableView.tableHeaderView.frame.size.height - self.tableView.contentInset.top);
[self.tableView setContentOffset:offset];
self.firstLayout = NO;
}
}
彻底性+1。 – Jake
这部作品iOS9 +
- (void)viewDidLoad {
[super viewDidLoad];
dispatch_async(dispatch_get_main_queue(), ^{
self.tableView.contentOffset = CGPointMake(0, -20);
});
}
设置内容精抵消工作正常,谢谢! – kain
当表格中的所有行适合屏幕时,解决方案不会隐藏搜索栏。这种情况下的任何已知解决方法? – Zorayr
@Zorayr:你是否找到了适用于整个屏幕的表格的工作解决方案?有同样的问题。 –