如何在tableView中滑动以编辑文本?

时间:2015-10-20 13:12:49

标签: ios xcode swift

在我的应用程序中,我有一个tableView in witch我有默认文本,我想要一个滑动来编辑文本功能,以便用户可以更改文本,如果想要。 我已经使用下面的代码添加了要删除的滑动,但是添加编辑文本功能并不像查找信息那么容易,所以我的问题是,如何添加按钮以便用户可以通过滑动来编辑文本功能? 我需要知道加载文本的代码,因为我没有文本字段所以它不像label.text = textfield.text那样简单 原始加载文本的代码如下

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) 

        cell.textLabel?.text = places[indexPath.row]["name"]

谢谢!

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

        if editingStyle == UITableViewCellEditingStyle.Delete {

            places.removeAtIndex(indexPath.row)

            NSUserDefaults.standardUserDefaults().setObject(places, forKey: "places")

            tableView.reloadData()

        }
           }

1 个答案:

答案 0 :(得分:1)

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

  var editAction = UITableViewRowAction(style: .Normal, title: "Edit") { (action, indexPath) in
                tableView.editing = false

    // your action
            }

            editAction.backgroundColor = UIColor.grayColor()


    var deleteAction = UITableViewRowAction(style: .Default, title: "Delete") { (action, indexPath) in
                tableView.editing = false
    // your delete action
    }

    return [deleteAction, editAction]