Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UITableView Section header overlapping with row on 64 bit iPad. Works fine on 32 bit

32 bit iPad: enter image description here



64 bit iPad: enter image description here

Here's the code:

- (float) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 40.0;
}

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 40)];
    
    [headerView setBackgroundColor:[UIColor grayColor]];
    
    UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 113, headerView.frame.size.height)];
    nameLabel.font = [UIFont systemFontOfSize:14];
    nameLabel.numberOfLines = 0;
    nameLabel.textAlignment = NSTextAlignmentCenter;
    nameLabel.text = @"Name";
    [headerView addSubview:nameLabel];
    
    nameLabel = [[UILabel alloc] init];
    nameLabel.numberOfLines = 0;
    nameLabel.font = [UIFont systemFontOfSize:14];
    nameLabel.frame = CGRectMake(175, 0, 50, headerView.frame.size.height);
    nameLabel.text = @"Risk Level";
    [headerView addSubview:nameLabel];
    
    nameLabel = [[UILabel alloc] init];
    nameLabel.numberOfLines = 0;
    nameLabel.font = [UIFont systemFontOfSize:14];
    nameLabel.frame = CGRectMake(220, 0, 50, headerView.frame.size.height);
    nameLabel.text = @"Code";
    [headerView addSubview:nameLabel];
    
    nameLabel = [[UILabel alloc] init];
    nameLabel.numberOfLines = 0;
    nameLabel.font = [UIFont systemFontOfSize:14];
    nameLabel.frame = CGRectMake(280, 0, 60, headerView.frame.size.height);
    nameLabel.text = @"Currency";
    [headerView addSubview:nameLabel];
    
    nameLabel = [[UILabel alloc] init];
    nameLabel.numberOfLines = 0;
    nameLabel.font = [UIFont systemFontOfSize:14];
    nameLabel.frame = CGRectMake(420, 0, 100, headerView.frame.size.height);
    nameLabel.text = @"Issuer";
    [headerView addSubview:nameLabel];
    
    return headerView;
}
like image 228
Ashish Awaghad Avatar asked Jan 23 '14 09:01

Ashish Awaghad


1 Answers

Found the solution.

had to use CGFloat instead of float as the return type of heightForHeaderAtSection:

like image 97
Ashish Awaghad Avatar answered Oct 13 '22 18:10

Ashish Awaghad