how to remove the empty title headers

你说的曾经没有我的故事 提交于 2019-12-12 03:13:43

问题


I am having a table view, in that I am having title headers, they are working well, but the sum of the title header values are getting null, I want to hide that null title header in my table view. how can I do this process. please help me in coding.

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [reverseOrder1 objectAtIndex:section];
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
  return 60;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 75)];
UILabel *headerTitile =[[UILabel alloc]initWithFrame:CGRectMake(20, -5, tableView.bounds.size.width-20, 75)];
headerTitile.text = [reverseOrder1 objectAtIndex:section];

headerTitile.textColor = [UIColor whiteColor];
headerTitile.TextAlignment=NSTextAlignmentCenter;
[headerView addSubview:headerTitile];
headerTitile.font = [UIFont fontWithName:@"Arial" size:16.0f];

headerView.backgroundColor = [UIColor colorWithRed:48/255.0f green:119/255.0f blue:21/255.0f alpha:1];
return headerView;
}

I am getting like above image,i ant to hide the null value title headers.


回答1:


Make changes in heightForHeaderInSection is return 0 if no objects

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
   //Note use your main array which defines section's row and according to each section it may be dictionary or array use accordingly
   NSArray *arrObjects = yourSectionsRowData[section];
   if([arrObjects count]>0])
      return 60.0;
   else
      return 0.0;
}

Also return view nil if not found any objects in viewForHeaderInSection

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
   //Note use your main array which defines section's row and according to each section it may be dictionary or array use accordingly
   NSArray *arrObjects = yourSectionsRowData[section];
   if([arrObjects count]>0])
      return nil;
   else
   {
      UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 75)];
      UILabel *headerTitile =[[UILabel alloc]initWithFrame:CGRectMake(20, -5, tableView.bounds.size.width-20, 75)];
      headerTitile.text = [reverseOrder1 objectAtIndex:section];

      headerTitile.textColor = [UIColor whiteColor];
      headerTitile.TextAlignment=NSTextAlignmentCenter;
      [headerView addSubview:headerTitile];
      headerTitile.font = [UIFont fontWithName:@"Arial" size:16.0f];

      headerView.backgroundColor = [UIColor colorWithRed:48/255.0f green:119/255.0f blue:21/255.0f alpha:1];
      return headerView;
   }
}


来源:https://stackoverflow.com/questions/28739599/how-to-remove-the-empty-title-headers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!