如何实现滑动权限完成(Todo List)

时间:2015-08-21 14:09:02

标签: swift uitableview swipe swift2

我正在处理待办事项列表应用,现在我可以使用这些代码实现向左滑动删除

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
    let delete = UITableViewRowAction(style: .Normal, title: "Delete") { action, index in
        print("Delete button tapped")
    }
    delete.backgroundColor = UIColor.redColor()
    return [delete]
}

而且我认为我搜索了整个互联网,但这些解决方案都没有能够完成正确的工作并同时在我身上正常工作。我使用swift 2.0,Xcode 7 beta 5。

之前有人这样做过吗?

3 个答案:

答案 0 :(得分:2)

使用提交编辑样式

 func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {

    let thisTask = fetchedResultsController.objectAtIndexPath(indexPath) as! TaskModel

    if thisTask.completed ==  true {thisTask.completed = false}
    else {thisTask.completed = true}
    (UIApplication.sharedApplication().delegate as! AppDelegate).saveContext()
}

我正在使用CoreData来存储我的信息,我正在存储的其中一件事情是否已经完成,当一个用户在桌面上滑动它将完成更改为true时,我有两个部分,一个用于未完成的任务,一个用于完成

答案 1 :(得分:1)

它认为这个项目可以帮助你进一步......

SBGestureTableView:Swift UITableView子类,支持滑动行ala邮箱,长按以移动行。

如果您不想使用此课程。您可以在那里看到源代码,首先需要确定用户是从左向右还是从右向左滑动。从那里开始。

答案 2 :(得分:0)

我终于通过成功将SBGestureTableView转换为swift 2.0语法来完成此操作,并在github.com/theniceboy/SBGestureTableView/tree/swift-2.0上发布了该语法。但我仍然要感谢你们!