找到被刷过/处于编辑模式的 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
我在我的应用程序中添加了一个 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