Skip to main content

Default height for section header in UITableView


I want to set the height of the first header in my UITableView. For the other headers I want them to remain the default height. What value/constant can I put in place of "someDefaultHeight" in the code below?




- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return kFirstHeaderHeight;

return someDefaultHeight;
}



Thanks


Source: Tips4allCCNA FINAL EXAM

Comments

  1. From checking the defaults in my app it looks like for a grouped table the default is a height of 10 and for a non-grouped table the default is a height of 22.

    If you check the value of the property sectionHeaderHeight on your tableview that should tell you.

    ReplyDelete
  2. Actually do the trick :)

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    {
    if(section == 0)
    return kFirstSectionHeaderHeight;
    return [self sectionHeaderHeight];
    }

    ReplyDelete
  3. I'm not sure what the correct answer is here, but neither 10 or 22 appears to be the correct height for a grouped table view in iOS 5. I'm using 44, based on this question, and it at least appears to roughly the correct height.

    ReplyDelete
  4. This should do the trick

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    if(indexPath.section == CUSTOM_SECTION)
    {
    return CUSTOM_VALUE;
    }
    return [tableView rowHeight];
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?