【发布时间】:2015-10-23 22:29:55
【问题描述】:
我有一个带有表格视图的 swift 应用程序,其中单元格是动态的。我想要实现的是用户可以侧滑一个单元格,它会显示两个图块,一个用于编辑,一个用于删除(例如在消息应用程序中,您可以在其中侧滑删除选项)
我有两个要显示的图块:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
let editRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: " Edit ", handler:{action, indexpath in
});
moreRowAction.backgroundColor = UIColor.orangeColor()
let deleteRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete", handler:{action, indexpath in
return [editRowAction, deleteRowAction]
}
我遇到的第一个问题是如何在选择编辑选项时以编程方式关闭侧滑,以便隐藏图块并且用户可以看到单元格中的文本字段?
第二个问题,当单元格处于编辑模式时,我希望能够在表格视图中移动单元格:以下教程我已经实现了以下内容:
func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
let sourceRow = sourceIndexPath.row;
let destRow = destinationIndexPath.row;
let object = ArrayList.objectAtIndex(sourceRow)
ArrayList.removeObjectAtIndex(sourceRow)
ArrayList.insertObject(object, atIndex: destRow)
}
并在我想将单元格置于移动模式时设置以下内容
TableView.setEditing(true, animated: true)
哪种是我想要的,但是当我将其置于编辑模式时,我会在单元格左侧看到我不想要的删除图标(带有白色短划线的红色圆圈),理想情况下我想要我自己的图标,因此用户可以选择并拖动单元格,但我觉得这可能会稍微推动它。
谢谢
【问题讨论】:
标签: swift uitableview tableviewcell