找到被刷过/处于编辑模式的 uitableviewcell

find uitableviewcell which is swiped / in editing mode

我在我的应用程序中添加了一个 UITableView。此表格视图包含单元格,如果向左滑动(通过此功能:editActionsForRowAtIndexPath),它们会显示一些自定义编辑按钮。我想找出哪个 UITableViewCell 向左滑动或显示自定义编辑选项并将默认文本设置为此单元格中的 detailText 标签。

进一步说明:

我有几个 UITableViewCells。用户滑动其中一个单元格。现在该单元格处于编辑模式并显示我添加的编辑选项(名为 "Date")。用户按此 button/option(日期)。现在弹出一个日期选择器。用户选择了一个日期。这个日期写在标签上。此 dateLabel 应传输到被刷过的单元格的 detailTextLabel 中。问题是我不知道如何将带有日期的标签传输到被刷过的单元格的 detailTextLabel。

希望有人能帮助我。我正在用 Swift.

编码

如果 UITableViewCell 向左滑动,这是我的自定义选项代码:

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

  let editingCell:UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!

  let date = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Date", handler: { (action, indexPath) -> Void in

  self.showSideBar(true)
  self.delegate?.sideBarWillOpen?()
  self.isEditingStyle = true

  })

  date.backgroundColor = UIColor(red: 0.204, green:0.667, blue:0.863, alpha: 1.0);

  return [date];
}

日期选择器:

    func datePickerChanged(datePicker:UIDatePicker) {

    var dateFormatter = NSDateFormatter()

    dateFormatter.dateStyle = NSDateFormatterStyle.ShortStyle
    dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle

    var strDate = dateFormatter.stringFromDate(datePicker.date)
    dateLabel.text = strDate

}

将日期添加到 detailTextLabel 中:

        lastEditedCell?.detailTextLabel?.text = dateLabel

您可以跟踪 tableView(tableView:, editActionsForRowAtIndexPath indexPath:) 函数中的 lastEditedCell

var lastEditedCell:UITableViewCell? // property of the class

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

  let editingCell:UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!

   lastEditedCell = editingCell
   //Your Code

}

在选择器视图中设置日期后,您可以在回调函数中设置。

lastEditedCell?.detailTextLabel.text = date