2009-08-13 7 views
29

Jeśli utworzę obiekt UITableViewController - odwiertu działa zgodnie z oczekiwaniami. Jeśli użytkownik wybierze komórkę i zaimplementuję metodę "didSelectRowAtIndexPath", komórka będzie migać na niebiesko i pojawi się następny widok.Wybieranie UITableViewCell w trybie edycji

Ale jeśli dołączę przycisk "edytuj" (self.navigationItem.rightBarButtonItem = self.editButtonItem), gdy użytkownik kliknie "Edytuj" - tryb poprawnie się zmienia (wszystkie komórki są wcięte i malują odpowiednie elementy edycyjne), ... ALE, komórki nie są długie "do wyboru".

IE: w trybie edycji, gdy użytkownik wybierze komórkę, nic się nie dzieje. Brak niebieskiego błysku. Bez wywoływania "didSelectRowAtIndexPath", nic.

Kiedy otwieram przykład iPhone'a "iPhoneCoreDataRecipes" (jak przewidziano w dokumentach SDK), z pewnością ma on RecipeDetailViewController - który po włączeniu w tryb edycji nadal pozwala na drążenie. Pobrałem i zbudowałem ich przykład i działa dobrze. Nie mogę znaleźć żadnego oszustwa w swoim kodzie, aby włączyć tę "wybieraną komórkę w trybie edycji", ale po prostu nie dostaję go, kiedy to robię.

Myśli?

Dzięki za każdym czasie,

-Luther

Odpowiedz

62

UITableView ma właściwość allowsSelectionDuringEditing do tego.

IMHO powinno być domyślnie TAK.

+0

Być może brakowało go w kodzie próbki mówiłeś o, bo może też być ustawiona w konstruktorze Interface. – NWCoder

+0

Jestem początkującym w tej sprawie, więc może podać przykładowy przykład kodu? – Mithuzz

+0

W Konstruktorze interfejsów domyślnie nie jest ustawiony na TAK. – habamedia