在swift中在UITABLEVIEW上向右滑动时添加操作

时间:2016-05-18 01:29:27

标签: ios swift uitableview

我有一个常规的uitableview设置,当前用户向左滑动时,会显示该操作。我想在用户向右滑动时添加一个动作,但我无法在Apple文档中找到任何地方或在线如何执行此操作。有什么想法吗?

这是我目前的设置:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return expandedIndexPaths.contains(indexPath) ? 200.0 : 50.0

}


override func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    return true
}



override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    // the cells you would like the actions to appear needs to be editable
    return true
}

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



}

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


    let share = UITableViewRowAction(style: .Normal, title: "Done") { action, index in



        let currentElement = self.tipArray[indexPath.row]

        let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate


        let context: NSManagedObjectContext = appDel.managedObjectContext

        var ent = NSEntityDescription.entityForName("Tips", inManagedObjectContext: context)

        self.repurposeManagedObjectContext("Tips", forAttribute: "rowNumber", object: indexPath.row)


        self.tipArray.insert(currentElement, atIndex: self.tipArray.count)
        self.tipArray.removeAtIndex(indexPath.row)
        self.tableView.reloadData()

    }

   // let categorize = UITableViewRowAction(style: UITableViewRowActionStyle, title: <#T##String?#>, handler: <#T##(UITableViewRowAction, NSIndexPath) -> Void#>)
    share.backgroundColor = UIColor.blueColor()

    return [share]
}

1 个答案:

答案 0 :(得分:0)

两个选项。

您可以使用third-party library

或者您可以推出自己的解决方案using gesture recognisers