找到滑动/处于编辑模式的uitableviewcell

时间:2015-01-12 14:40:32

标签: ios uitableview swift xcode6

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

进一步说明:

我有几个UITableViewCells。用户滑动这些单元格中的一个。现在单元格处于编辑模式并显示我已添加的编辑选项(命名为"日期")。用户按此按钮/选项(日期)。现在弹出一个datePicker。用户选择了一个日期。这个日期写在标签上。应将此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

1 个答案:

答案 0 :(得分:0)

您可以跟踪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