2009-05-13 16 views

Odpowiedz

15

Trudności w usuwaniu komórek polegają na tym, że gdy przesuniesz od lewej do prawej strony, aby wyświetlić przycisk "usuń", kamera UITableViewCell przechodzi do stanu UITableViewCellStateShowingDeleteConfirmationMask, ale nie ustawia stanu na UITableViewCellStateEditingMask. Oznacza to, że nie można zmienić accessoryView dla stanu edycji.

Sposób obejścia tego polega na sprawdzeniu metody UITableViewCell za pomocą metody willTransitionToState:. Jedyne, co możesz zrobić, to przechwycić wywołanie tej metody, które spowoduje, że twoja komórka znajdzie się w stanie potwierdzenia usunięcia i wyświetli własne widoki zamiast przycisku potwierdzenia "Usuń", który zwykle jest pokazywany.

Aby uzyskać więcej informacji, spójrz na the docs dla willTransitionToState: dla UITableViewCell.

+1

Dzięki Tim. To pozwala mi przechwycić przesunięcie, aby przejść do trybu edycji, ale nie jest dla mnie jasne, jak zatrzymać UITableViewCell wyświetlając swój własny przycisk "usuń". Obecnie dzieje się tak, gdy przekazuję wiadomość do super - co dokumentacja mówi, że jest obowiązkowe. Czy proponujesz również, że jedynym sposobem, aby to zrobić, jest dodanie mojego własnego UIButton i samodzielne wykonanie usuwania kabli, zamiast polegania na tableView źródła danych: commitEditingStyle: forRowAtIndexPath :? Wydaje się dziwne, że operacja usuwania pomija wszystkie opcje dostosowywania UITableViewCell. –

+0

Hm. Nie jestem do końca pewien, czy można całkowicie wyłączyć wyświetlanie wbudowanego przycisku Delete w UITableViewCell, chyba że zrobisz to, co sugerowałeś i ustawisz własny przycisk usuwania zamiast wywoływania super metody. Możliwe, że przechwycisz willTransitionToState: wiadomości, które umieszczają je w trybie usuwania i przekierowują je, aby umieścić tabelę w trybie edycji, która (IIRC) zapewnia również kontrolę usuwania (mały czerwony symbol minus). – Tim

+0

To brzmi podejrzanie. Myślę, że na razie popracuję nad przyciskiem Apple i jeśli będę miał czas, zaimplementuję własną funkcję wykrywania i usuwania przesunięcia. –

Powiązane problemy