[英]Dismiss UITableViewRowAction
我有一個自定義UITableViewRowAction設置和工作。 我唯一無法解決的是如何在選擇一個動作后解除UITableViewRowAction。 我確定我錯過了一些非常明顯的東西。 這是我目前的設置:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
var moreRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "In", handler:{action, indexpath in
//Some code to execute here
});
moreRowAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0)
return [moreRowAction];
}
謝謝你的建議。
您忽略了在操作被調用時調用的處理程序中的操作。 文檔描述了處理程序如下
當用戶點擊與此操作關聯的按鈕時執行的塊。 UIKit會復制您提供的塊。 當用戶選擇此對象表示的操作時,UIKit會在應用程序的主線程上執行處理程序塊。
獨立地,我想你可以將表視圖editing
屬性設置為false。
tableView.setEditing(false, animated: true)
這對我有用:
tableView.editing = NO;
調用tableView.setEditing(false, animated: true)
似乎只在某些時候起作用。 最終,表視圖似乎進入了不再顯示編輯操作的狀態。
我發現簡單地調用tableView.reloadRows(at: [indexPath], with: .none)
可以更可靠地工作。
它適用於Swift 3中的mi:
self.tableView.setEditing(false, animated: true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.