Iphone accessoryType复选标记将UITableViewCell缩进到左侧

Iphone accessoryType复选标记将UITableViewCell缩进到左侧,iphone,cocoa-touch,uitableview,uikit,Iphone,Cocoa Touch,Uitableview,Uikit,当我在tableview中选择一个单元格时,accessoryTypeCheckMark将该单元格推到左侧 我的自定义单元格是通过编程方式插入到tableview中的 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:

当我在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];

}

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


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

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


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

我也为此绞尽脑汁,但幸运的是,我能够在Interface Builder中为我的子视图启用左侧自动调整大小约束,使其与单元格的左侧对齐。宽度和右侧约束被禁用。在我的例子中,无论是否显示UITableViewCellAccessoryCheckmark,都会将100像素宽的UIView固定在单元格的左侧,而且即使表格单元格宽度发生变化,也能保持其宽度不变。

我也在为此烦恼,但幸运的是,我能够在Interface Builder中为我的子视图启用左侧自动调整大小约束,使其与单元格的左侧对齐。宽度和右侧约束被禁用。在我的例子中,无论是否显示UITableViewCellAccessoryCheckmark,这都会将一个100像素宽的UIView固定在单元格的左侧,并且即使表格单元格宽度发生变化,它的宽度也会保持不变。

我想他不希望当复选标记可见时单元格的内容缩进……嗨,jasarien,没错!谢谢,我想他不希望单元格内容在复选标记可见时缩进……嗨,贾萨琳,没错!谢天谢地,我试着将自定义单元格中UILabel的长度减少50,但这并没有消除缩进。布置自己的子视图也没有帮助。显示复选标记仍会缩进子视图。@VictorBogdan此答案旁边的复选标记似乎与您不一致。根据我自己的经验,这就是我解决这个问题的方法。嗯,我尝试将自定义单元格中UILabel的长度减少50,但这并不能消除缩进。布置自己的子视图也没有帮助。显示复选标记仍会缩进子视图。@VictorBogdan此答案旁边的复选标记似乎与您不一致。根据我自己的经验,这就是我解决这个问题的方法。这不是一个最佳解决方案,试着进入纵向模式,看看会发生什么。这不是一个最佳解决方案,试着进入纵向模式,看看会发生什么。