ios - UITableView 部分标题与 64 位 iPad 上的行重叠。在 32 位上工作正常

标签 ios uitableview 64-bit 32bit-64bit

32 位 iPad: enter image description here



64 位 iPad: enter image description here

代码如下:

- (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;
}

最佳答案

找到解决方案。

必须使用 CGFloat 而不是 float 作为 heightForHeaderAtSection 的返回类型:

关于ios - UITableView 部分标题与 64 位 iPad 上的行重叠。在 32 位上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304447/

相关文章:

iphone - ios5 UISearchBar 过滤 TableView 导致空单元格断言错误

ios - 添加一个 UIImageView 到 NavigationBar 的后面(不是背景图片)

windows - 在 x64 中第二次 RichEdit 初始化后崩溃

ios - 错误: definition conflict with previous value

ios - swift iOS : Closure will not run in background when Remote Notification received

ios - Firestore- 在 Tableview 中显示数据

c# - SendInput 在 64 位上失败

ios - 如何添加新设备进行测试并制作新证书进行测试

ios - 如何修复 faSTLane-plugin-firebase_app_distribution 未定义

ios - PhoneRTC 64 位支持吗?