簡體   English   中英

關閉UITableViewRowAction

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM