选择后如何移动单元格

时间:2016-01-26 08:59:11

标签: ios swift uitableview cells

我正在锁定方法中的解决方案

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: UIIndexPath) {
}

选择一行后,它应该改变颜色并移动到数组的末尾,另一个应该向上移动

2 个答案:

答案 0 :(得分:0)

要向下移动行,您可以执行以下操作:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: UIIndexPath) {
    //move selected cell down to last row
    tableView.moveRowAtIndexPath(indexPath, toIndexPath:NSIndexPath(forRow: tableView.numberOfRowsInSection(indexPath.section)-1, inSection: indexPath.section))
}

要更改颜色,请参阅How to change color of UITableViewCell when selecting?

答案 1 :(得分:0)

对于数据一致性,您必须分别在表和数据源数组中移动项目。

dataSourceArray表示数据源数组

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

  let itemToMove = dataSourceArray[indexPath.row]
  dataSourceArray.removeAtIndex(indexPath.row)
  dataSourceArray.append(itemToMove)

  let destinationIndexPath = NSIndexPath(forRow: dataSourceArray.count - 1, inSection: indexPath.section)
  tableView.moveRowAtIndexPath(indexPath, toIndexPath:destinationIndexPath)
}