无法在 IOS 6 中将 UILabel 添加到 UITableViewCell

Posted

技术标签:

【中文标题】无法在 IOS 6 中将 UILabel 添加到 UITableViewCell【英文标题】:Cannot add UILable to UITableViewCell in IOS6 【发布时间】:2014-02-10 09:45:15 【问题描述】:

搜索没有给我任何关于这个问题的信息,所以我决定问一个提供一些代码的问题。 我需要在表格视图单元格中添加一个 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 中不起作用。请告诉我我在哪里犯了错误。 提前谢谢你。

附:我只是无法为这种细胞创建一个新类。并且类似的代码(几乎相同)在 IOS6 中使用相同类型的 UITableViewCell 的其他控制器中运行良好。

【问题讨论】:

@evgeniy- ios6中是否进入if条件,条件是什么 您为什么要创建自定义标签。您应该使用默认的 tableviewcell 之一。简单的 "cell.detailTextLabel.text=@"your text""。 @evgeniy - 就像 Vivek 说的,它是否进入了 IF_IOS6 条件?如果是,检查它是初始化还是nil? 是的,它输入所有条件。我不能使用 cell.detailTextLabel 因为我需要将此标签移动到自定义位置。 【参考方案1】:

改变

detail.font = cell.detailTextLabel.font;

detail.font = [UIFont boldSystemFontOfSize:18];

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

【讨论】:

非常感谢。确实,问题出在字体上!

以上是关于无法在 IOS 6 中将 UILabel 添加到 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 ios 6 中将 uibarbutton 样式的相机添加到 uitableviewcell

在 iOS 中将属性字符串设置为 UILabel

在表视图单元 iOS 中将值设置为 UILabel

使用 NSLayoutConstraints 在 UITextView 中将 UILabel 居中

如何在 iOS7 中将 UIDatePicker 添加到 UIALertView

ios 6:使用自动布局约束垂直居中 UILabel