我已将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
答案 0 :(得分:0)
您可以跟踪tableView(tableView:, editActionsForRowAtIndexPath indexPath:)
函数
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