无法在IOS6中将UILable添加到UITableViewCell

时间:2014-02-10 09:45:16

标签: ios ios6 uitableview ios7 uilabel

搜索没有给我任何问题,所以我决定提出一些提供一些代码的问题。 我需要将UILabel添加到表视图单元格。 这是启动单元格:

UITableViewCell *cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellId];

然后,根据其他一些参数,其中一个单元格应包含uiswitch和uilabel:

    titleText = @"Some title";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"dd.MM.yyyy - HH:mm";
    detailText = [formatter stringFromDate:_someDate];

    UISwitch *reminderSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(200, 5, 60, 20)];
    IF_IOS6
    reminderSwitch.frameX = 175;

    reminderSwitch.on = NO;
    [reminderSwitch addTarget:self action:@selector(reminderSwitchValueChanged:) forControlEvents:UIControlEventValueChanged];
    [reminderSwitch setOnTintColor:[UIColor colorWithRed:78/255.0 green:169.0/255.0 blue:224/255.0 alpha:1.0]];

     if (/*Some Condition*/)
     {
        UILabel *detail = [[UILabel alloc] initWithFrame:CGRectMake(100, 45, 150, 12)];
        IF_IOS6 
        detail.frame = CGRectMake(0, 0, 100, 20);

        detail.text = detailText;
        detail.font = cell.detailTextLabel.font;
        detail.textColor = cell.detailTextLabel.textColor;
        detail.hidden = NO;
        [cell addSubview:detail];
     }
     detailText = nil;

     [cell addSubview:reminderSwitch];
}

此代码在IOS7中运行良好。 此代码在IOS6中不起作用。请告诉我我犯了哪个错误。 提前谢谢。

P.S。我不能为这种单元格创建一个新类。类似的代码(几乎相同)在IOS6中在使用相同类型的UITableViewCell的其他控制器中运行良好。

1 个答案:

答案 0 :(得分:1)

更改

detail.font = cell.detailTextLabel.font;

detail.font = [UIFont boldSystemFontOfSize:18];

在iOS6上,单元格的文本标签的字体为0 px字体大小