2012-08-15 81 views
0

我有一大堆自定義單元格的表格部分,每個單元格都有兩個緊挨着的UITextFields。如何在UITableView中出現「刪除」按鈕時捕捉事件?

當表格進入編輯模式時,我必須調整每個單元格的右側UITextField的大小,以便它不會通過單元格左側顯示的刪除減號從屏幕上推出。

我需要做一個類似的事情,當用戶按下刪除減號和「刪除」米按鈕出現在單元格的右側。我需要調整正確的UITextField的大小,以免它被Delete按鈕部分遮擋。但是,我找不到任何協議方法或任何在刪除按鈕出現時提醒我的事情。

當用戶掃描的行刪除,這種方法似乎工作:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath 

然而,當用戶按下紅色減號按鈕來刪除,它不調用該函數。

+1

爲您工作嗎? http://stackoverflow.com/questions/2104403/iphone-uitableview-delete-button – aforaudrey 2012-08-15 22:30:00

+0

看起來像它可能會。我明天會試試看,謝謝。 – 2012-08-15 22:45:02

+0

@RandallSchmidt如果您使用customTableviewCell實現了由Tieme建議的方法,否則您將不得不繼承UITableviewCell並實現相同的方法。 – ViruMax 2014-02-26 10:19:19

回答

0

嘗試使用這些:

- (void)willTransitionToState:(UITableViewCellStateMask)newState{ 
    [super willTransitionToState:newState]; 

    //deletebutton (minusbutton) will be animated in 
    if(newState == UITableViewCellStateShowingEditControlMask){ 

    } 

    //deletebutton (minusbutton) will be animated out 
    if(newState == UITableViewCellStateDefaultMask){ 

    } 

    //deletebutton (minusbutton) will be rotated 90 degrees ccw 
    if(newState == 3){ 

    } 

    //deletebutton (minusbutton) will be rotated 90 degrees cw 
    if(newState == UITableViewCellStateShowingEditControlMask){ 

    } 
} 
0

cell.showingDeleteConfirmation是你在找什麼。