2012-05-17 108 views
5

我有一個包含UITableView的視圖。 我可以在用戶滑動時顯示單元格上的刪除按鈕。如何檢測是否隱藏了刪除按鈕UItableviewcell?

如果用戶觸摸刪除按鈕,將觸發一個方法(這可以很好地工作)。 但是,如果用戶決定不刪除該單元格,並且他觸摸視圖中的任何位置以隱藏刪除按鈕。

我該如何檢測?

回答

3

當用戶點擊一個細胞中刪除標記以外,你的程序應該接受在表視圖委託tableView:didEndEditingRowAtIndexPath:通話。

+0

作品。謝謝:) – Kassem

+0

這似乎不適用於編輯模式。 –

3

[UITableViewCell showingDeleteConfirmation]

[UITableViewCell willTransitionToState:]UITableViewCellStateShowingDeleteConfirmationMask作爲參數

1

在你的UITableViewCell子類中實現了willTransitionToState:方法。當單元格正在轉換到編輯狀態或從編輯狀態轉換時,此方法由UITableView調用。

在您實現該類時,您需要有條件地檢查傳遞給該方法的掩碼參數的值,以確定該單元格正在過渡到/來自哪個狀態。對於屏蔽可能的值是...

enum { 
    UITableViewCellStateDefaultMask      = 0, 
    UITableViewCellStateShowingEditControlMask   = 1 << 0, 
    UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1 
}; 

你的情況,你將要監視過渡到UITableViewCellStateDefaultMask這樣您的實施情況如下......

- (void)willTransitionToState:(UITableViewCellStateMask)state { 
    if (state == UITableViewCellStateDefaultMask) { 
     // User has switched back to default state... 
     // ... 
    } 
} 
相關問題