accessoryType选中标记将UITableViewCell缩进到左侧

时间:2009-12-27 18:07:08

标签: iphone cocoa-touch uitableview uikit

当我在tableview中选择一个单元格时,该单元格被accessoryTypeCheckMark推向左侧。

我的自定义单元格以编程方式插入到tableview

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:
                                     indexPath];
    if (selectedCell.accessoryType == UITableViewCellAccessoryNone) {
        selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
    else {
        selectedCell.accessoryType = UITableViewCellAccessoryNone;
    }
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

2 个答案:

答案 0 :(得分:1)

我正在撕掉我的头发,但幸运的是我能够在Interface Builder中为我的子视图打开左侧自动调整约束,以使其与单元格的左侧对齐。宽度和右侧约束被禁用。在我的情况下,无论是否显示UITableViewCellAccessoryCheckmark,它都会将100像素宽的UIView固定在单元格的左侧,并且即使表格单元格宽度发生变化,也会保持其宽度不变。

答案 1 :(得分:-1)

根据单元格的内容(更具体地说,取决于文本向右延伸的距离),将重新绘制内容以便为复选标记显示空间。

如果您不想移动文本,则需要使用自定义单元子类自己绘制单元格内容。