我实现了editActionsForRowAtIndexPath和commitEditingStyle滑动工作但UITableViewCell上没有显示任何操作按钮
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
let deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Delete" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
// I did some work here
})
return [deleteAction]
}
有没有人知道如何在滑动时显示动作按钮? (目前,单元格滑动但背后是白色背景,没有操作按钮。同样点击此白色背景也不会引起任何反应)
注意:我在另一个ViewController中实现了editActionsForRowAtIndexPath,它可以工作。 (操作按钮既显示又响应点击事件)
答案 0 :(得分:1)
我遇到了同样的问题,在我的情况下,我意识到我的自定义单元格是用于表视图的宽泛方式。我注意到这一点,因为配件没有显示。一旦我在iPad模拟器上运行它,我就看到了按钮。
答案 1 :(得分:0)
此处的事件应为commitEditingStyle
,以使用滑动按钮操作
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if (editingStyle == UITableViewCellEditingStyle.Delete) {
// handle delete (by removing the data from your array and updating the tableview)
}
}
答案 2 :(得分:0)
commitEditingStyle为空,因为滑动需要它。 editActionsForRowAtIndexPath已实现,这在一个viewController中有效,但不适用于另一个
代码如下
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
}
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
let deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Delete" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
//some code here
})
return [deleteAction]
}