Czy istnieje standardowy sposób, aby utworzyć tabelę, aby umożliwić montaż na miejscu, niby tak:Jak wykonać edycję w miejscu w UITableView?
Muszę tylko edytowalny tekst w tej chwili, ale może muszę UISwitches lub UISliders w przyszłości.
Czy istnieje standardowy sposób, aby utworzyć tabelę, aby umożliwić montaż na miejscu, niby tak:Jak wykonać edycję w miejscu w UITableView?
Muszę tylko edytowalny tekst w tej chwili, ale może muszę UISwitches lub UISliders w przyszłości.
Tak. Po prostu dodaj UITextField
, z jego font
i textColor
ustawionymi na odpowiednie wartości, jako podobraziami komórki tabeli contentView
. Prawdopodobnie chcesz nadać polu także tag
, dzięki czemu możesz z łatwością pobrać odniesienie do niego, korzystając z metody '-viewWithTag:
.
W krótkich formularzach można uciec z zachowaniem szeregu komórek, po jednym dla każdego pola, i przekazać je do widoku tabeli bez przechodzenia przez mechanizm -dequeueReusableCellWithIdentifier:
, ale jeśli masz dużo rzeczy do wprowadzenia to staje się bardziej skomplikowane. W takim przypadku prawdopodobnie chcesz przypisać inny identyfikator ponownego użycia do każdego typu komórki - jednej dla komórek pola tekstowego, jednej dla komórek przełącznika, jednej dla komórek suwaka itd. Po usunięciu lub utworzeniu komórki wiersza Następnie przejmuje kontrolę nad widokiem treści (jak wyżej) i ustawia wartość z dowolnego miejsca, w którym je zapisałeś.
Edytuj w miejscu używając "Treść: Komórki statyczne" i spraw, aby wyglądał jak domyślny styl UITableviewCell.
Wygląda całkiem równo, prawda?
Teraz zrób rzeczy na IBoutlet.
Dzięki! A jak zakończyć edycję komórki, jeśli kliknę poza TableView? –
Faktycznie dodanie ich jako subviews do 'contentView' nie spowoduje, że będzie wyglądać jak na obrazku. Przejdzie również pod etykietą. Ustawiłem pole tekstowe jako "akcesorViewView" i zadziałało. Musisz jednak zakodować jego szerokość jako magiczną liczbę i jest to problem, jeśli obsługujesz obie orientacje ekranu. – Isuru