【问题标题】:accessoryType Checkmark indents UITableViewCell to the leftaccessoryType Checkmark 向左缩进 UITableViewCell
【发布时间】:2009-12-27 18:07:08
【问题描述】:

当我在我的表格视图中选择一个单元格时,该单元格被附件类型检查标记推到了左侧。

我的自定义单元格以编程方式插入到 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];

}

【问题讨论】:

  • 我认为他不希望单元格的内容在复选标记可见时缩进......
  • 嗨,jasarien,没错!谢谢

标签: iphone cocoa-touch uitableview uikit


【解决方案1】:

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

【讨论】:

  • 这不是最佳解决方案,请尝试进入纵向模式,看看会发生什么。
【解决方案2】:

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

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

【讨论】:

  • 嗯,我尝试将自定义单元格中的 UILabel 的长度减少 50,但它并没有消除缩进
  • 布置自己的子视图并没有帮助。显示复选标记仍会缩进子视图。
  • @VictorBogdan 这个答案旁边的复选标记似乎不同意你的观点。根据我自己的经验,这就是我解决此问题的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多