代码之家  ›  专栏  ›  技术社区  ›  tech_human

如何为附件视图节省空间,但不在UITableViewCell上显示?

  •  0
  • tech_human  · 技术社区  · 4 年前

    我在UITableViewCell的附件视图正下方有一个标签。这是一个可重复使用的单元格,即在某些情况下,我会显示披露指示符,而在其他情况下则不会显示。如果我设置 cell.accessoryType = .none ,则标签向右移动,即取代附件视图。

    我不想显示披露指标,但仍然想在那里留一个空白。以下是我所尝试的:

    cell.accessoryView.alpha = 0
    

    仅设置此项,默认情况下会显示披露指标。如果我这样做,那么披露指标就会消失,但标签会向右移动。

    cell.accessoryView.alpha = 0
    cell.accessoryType = .none
    

    我想把标签放在下面单元格的位置,只是想隐藏披露指示符。我怎样才能实现它?

    enter image description here

    0 回复  |  直到 4 年前
        1
  •  0
  •   Adrian Mole Chris    2 年前

    我知道这不是最好的代码,但是,既然没有答案,也许这会帮助别人。在cell文件中,类似的东西对我有效:

    let option = UICellAccessory.LabelOptions.init(isHidden: false, reservedLayoutWidth: .standard, tintColor: nil)
    
        
    accessories = state.isSelected ? [.checkmark()] : [.label(text: "", options: option)]
    

    我们显示一个附件标签,当单元格未被选中时,我们将文本设置为nil,但在其选项中添加一个reservedLayoutWidth,这将为我们节省选中标记所需的空间