在表格单元格右侧显示标签不起作用

时间:2015-11-04 09:16:06

标签: ios objective-c uitableview

enter image description here

我有一个UITableView我正在显示我的自定义单元格,问题是当行未被选中时它应该显示右侧的文本但它没有显示,它显示当我保留行选中(长按)我可以看到有一个文字标签。我的代码如下

从cellForRowAtIndex调用:

else if (indexPath.section == 2)
    return [self dataForSectionTwo:badgerAddAppointmentCellindexPath:indexPath];

(myCell *) dataForSectionTwo:(myCell *)badgerAddAppointmentCell indexPath:(NSIndexPath *)indexPath
{
[myCell hideAllSubViews];
[myCell.textLabel setHidden:NO];
[myCell.textLabel setFont:[UIFont systemFontOfSize:DESCRIPTION_FONT_SIZE]];
[myCell.cellDetailLabelSectionTwo setFont:[UIFont systemFontOfSize:DESCRIPTION_FONT_SIZE]];
myCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

[myCell.detailLblSectionTwoTrailing setConstant:0];
[myCell.cellDetailLabelSectionTwo setNeedsUpdateConstraints];
[myCell.cellDetailLabelSectionTwo setHidden:NO];
myCell.selectionStyle = UITableViewCellSelectionStyleGray;
if(indexPath.section == 2)
{       
    if (indexPath.row == 0)
    {
        myCell.textLabel.text = @"Repeat";
        myCell.cellDetailLabelSectionTwo.text = [self checkForRepeat];
    }
}

cellDetailLabelSectionTwo是UILabel。

2 个答案:

答案 0 :(得分:0)

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
       UITableViewCell *myCell = [tableView dequeueReusableCellWithIdentifier:@"CELL" forIndexPath:indexPath];
     if(myCell == nil){
            myCell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CELL"];
    [myCell hideAllSubViews];
    [myCell.textLabel setHidden:NO];
    [myCell.textLabel setFont:[UIFont systemFontOfSize:DESCRIPTION_FONT_SIZE]];
    [myCell.cellDetailLabelSectionTwo setFont:[UIFont systemFontOfSize:DESCRIPTION_FONT_SIZE]];
    myCell.textLabel.text = @"Repeat";
            myCell.cellDetailLabelSectionTwo.text = @"Never";
}
}

使用此代替您使用的方法。 您的Never仅适用于那些满足 checkForRepeat 方法的人。如果你每次都想要它,那么就不要检查它。

CELL是自定义单元格的单元格标识符

答案 1 :(得分:0)

隐藏在textLabel Of cell

调试视图:

enter image description here

您使用的是UITableCell的默认标签。要么你能做到这一点。

[myCell.textLabel setBackgroundColor:[UIColor clearColor]];

OR 如果删除

myCell.textLabel.text = @"Repeat";  // This is the default label of Cell. You can add a custom label. Like the cellDetailLabelSectionTwo label.

它显示..