在ios7中重新加载tableView标头
2020年02月04日
作者:佚名
如何在不重新加载所有表的情况下执行此操作?
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *header; if(!self.searchBar) { self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,10,270,kRowHeight)]; self.searchBar.delegate = self; self.searchBar.barStyle = UISearchBarStyleDefault; self.searchBar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; self.searchBar.barTintColor = [UIColor clearColor]; } if(!self.placeholderSearchBarView) { self.placeholderSearchBarView = [[UIView alloc]initWithFrame:CGRectMake(0,kSearchBarPlaceholderHeight)]; self.placeholderSearchBarView.backgroundColor = [UIColor colorWithWhite:0.9 alpha:0.7]; } if (self.showSearchBar) { for (UIView *v in self.tableView.tableHeaderView.subviews) { if (v.tag == 3433) { [v removeFromSuperview]; } } header = self.searchBar; } else { header = self.placeholderSearchBarView; } return header; }
解决方法
您必须重新加载整个部分才能重新加载标题.
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation: UITableViewRowAnimationAutomatic];
要么
您可以抓取视图的句柄并手动更新它:
UIView *headerView = [self.tableView headerViewForSection:section]; //... update your view properties here [headerView setNeedsDisplay]; [headerView setNeedsLayout];
以上是来客网为你收集整理的在ios7中重新加载tableView标头全部内容,希望文章能够帮你解决在ios7中重新加载tableView标头所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。