Swift UITableViewRowAction 不同行上不同数量的按钮

Swift UITableViewRowAction different number of buttons on different rows

使用 UITableViewRowAction 可以在每一行上设置不同数量的按钮吗?例如我想要一行有 3 个动作,其余的有 2 个。这可能吗?

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

if indexPath.row == 0 {
  let note = UITableViewRowAction(style: .Default, title: " Note ") { action, index in

    self.notePopUpCalled()
  }
  note.backgroundColor = GlobalColourConstants.informationColour

  let infomation = UITableViewRowAction(style: .Default, title: " Info ") { action, index in

    self.informationPopUpCalled()
  }
  infomation.backgroundColor = GlobalColourConstants.appColour

let Diagram = UITableViewRowAction(style: .Default, title: " Diagram ") { action, index in

    self.diagramPopUpCalled()
  }
  note.backgroundColor = GlobalColourConstants.informationColour
  return [note, information, diagram]


} else {
  let note = UITableViewRowAction(style: .Default, title: " Note ") { action, index in

  }
  note.backgroundColor = GlobalColourConstants.informationColour

  let infomation = UITableViewRowAction(style: .Default, title: " Info ") { action, index in

  }
  infomation.backgroundColor = GlobalColourConstants.appColour
  return [note, information, nil]
 }
}

是的,这是可能的。方法:

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?

returns 每个索引路径的一组操作。因此,您可以 return 为每一行设置不同的操作。