/ / Jak ponownie wykorzystać UIPickerView? - ios, uitableview, swift, uipickerview

W jaki sposób można ponownie użyć UIPickerView? - ios, uitableview, swift, uipickerview

Mam UITableView z 13 komórkami.

Muszę wybrać opcje dla każdego przy użyciu Koła Picker, ale nie chcę ani nie myślę, że muszę stworzyć 13 Kontrolerów Widoków z niczym innym, jak tylko Picker Wheel w VC.

Zgaduję, że mogę to zrobić za pomocą jednego kontrolera widoku. Czy mogę użyć instrukcji else-if i ponownie użyć tego samego kontrolera widoku z wyświetlonym na nim UIPickerView?

W ten sposób miałbym tylko 1 widok kontrolera na Segue i jeden plik .swift połączony z nim zamiast 13 plików VC i 13 .swift.

Odpowiedzi:

0 dla odpowiedzi № 1

Prawie wszystkie narzędzia UIKit zostały stworzonemożliwość ponownego użycia. Musisz się przyjrzeć protokołom UIPickerViewDataSource i UIPickerViewDelegate. Zgodność z tymi protokołami zmusi Cię do zaimplementowania metod wymaganych do wysłania danych pickerView.

Istnieje kilka powiązanych z nimi metodwszystkie protokoły odgrywają rolę w dostosowywaniu niektórych aspektów tabeli i będą przydatne w modyfikowaniu tego, co użytkownik zobaczy na stole. Na przykład:

optional func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!

to metoda, która pozwala modyfikować „tytuły” (zawartość każdego wiersza) przewijacza UIPickerView.

W twoim przypadku, aby wyświetlić różne dane za pomocą pojedynczego pickerView, umieścisz instrukcje if wewnątrz tej metody, aby manipulować tym, co ta metoda wysyła z powrotem do widoku wyboru.

To, co chcesz zrobić, to mieć jakiś mechanizm różnicowania, która z 13 części informacji, którą chcesz użyć w pickerView, którą chcesz obsłużyć w wyżej wymienionej metodzie.