Mám UITableView s 13 bunkami.
Musím vybrať možnosti pre každého pomocou Picker Wheel, ale nechcem, alebo si myslím, že potrebujem vytvoriť 13 View Controllerov s ničím iným ako Picker Wheel na VC.
"Hádam, že na to môžem použiť len jeden kontroler zobrazenia. Môžem použiť príkaz if-if a použiť rovnaký View Controller s UIPickerView?"
Týmto spôsobom by som mal iba 1 View Controller to Segue to a jeden .swift súbor pripojený k nemu namiesto 13 VC "a 13 .swift súborov.
odpovede:
0 pre odpoveď č. 1Sú vytvorené takmer všetky nástroje UIKitznovupoužitelnost. Čo musíte vidieť, je UIPickerViewDataSource a protokoly UIPickerViewDelegate. V súlade s týmito protokolmi budete nútení implementovať metódy, ktoré sú potrebné na posielanie dát pickerView.
S nimi je spojených niekoľko metódvšetky z nich hrajú úlohu pri prispôsobovaní niektorých aspektov tabuľky a budú užitočné pri modifikácii toho, čo používateľ uvidí na stole. Napríklad:
optional func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
je metóda, ktorá umožňuje modifikovať "tituly" (obsah každého riadku) UIPickerView scrollera.
Ak chcete zobraziť rôzne údaje pomocou jedného nástroja pickerView, v tomto prípade umiestnite príkazy if do tejto metódy, aby ste mohli manipulovať s tým, čo táto metóda posiela späť do nástroja pickerView.
Čo chcete urobiť, je mať nejaký mechanizmus na rozlíšenie, ktorá z 13 informácií, ktoré chcete použiť v pickerView, ktoré by ste mali spracovať v uvedenej metóde.