2013-07-05 13 views
8

Dla kontrolera widoku ustawień mojej aplikacji chcę mieć widok tabeli z wieloma opcjami, które użytkownik może modyfikować. Przełączniki, seguy, steppery itp.Najlepsze praktyki projektowania widoku tabeli dla ustawień aplikacji?

Jaki jest najlepszy sposób na osiągnięcie tego? Widoki tabel są dość proste w przypadku, gdy każda komórka podąża prostym układem. Może tytuł i jakiś podtekst. Ale w tym przypadku komórka może być jednym z, powiedzmy, pięciu układów w zależności od tego, jakie ustawienia są zmieniane.

jest najlepszy sposób, aby sobie z tym poradzić podklasy UITableViewCell, aw tableView na cellForRowAtIndexPath:, przed powrotem do celi ustawić właściwość niestandardową jak kind do czegoś podobnego toggle lub label? Następnie w viewDidLoad tej podklasy komórki ustawiono komórkę w oparciu o właściwość kind?

Czy to nie jest wydajne? Czy powinienem utworzyć komórkę ze wszystkimi kontrolkami już na niej, ale ukrytymi, a następnie włączyć je na podstawie kind? Czy powinienem mieć podklasę dla każdego rodzaju komórki z różnymi kontrolkami, które chcę?

Tak myślę o tym. Ale czy istnieje bardziej preferowany sposób? Czy jest to nieefektywne, ponieważ nie ma koniecznie przewidywalnego wzoru od komórki do komórki?

+0

Polecam InAppSettingsKit jak wspomniano w [odpowiedź @Wayne Hartmana] (http://stackoverflow.com/a/17495359/795339).Ale gdybyś zbudował to od zera, utworzyłbym widok tabeli w scenorysie i uczyniłbym komórkę prototypową wielokrotnego użytku dla każdego innego typu pola - jedną komórkę prototypową dla pola tekstowego, jedną dla przełącznika itp. prototypowa komórka byłaby inną podklasą 'UITableViewCell' i zaimplementuje zdefiniowany protokół, z właściwościami nazwy etykiety i być może nazwą klucza w słowniku ustawień, do związania tego pola. –

Odpowiedz

15

Nie podoba mi się pomysł, że muszę debugować czyjś kod, jeśli nie lubię czegoś w nim. Dlatego próbuję napisać kod na własną rękę, a następnie sprawdzić, czy pasuje on do moich potrzeb, czy nie. Jeśli tak się nie stanie, przejdę do InAppSettingsKit.

To, o co prosiłeś, jest bardzo proste i zaimplementowałem w prawie każdej mojej aplikacji, tj. UITableView z opcjami.

tak to zrobię. Możesz zrobić to wszystko prosto w Xcode.

  • Tworzenie UITableView Controller
  • Sprawiają, że kontroler nawigacyjny. Tak, że można dodać nagłówek na nim jak ze słowem „ustawienia”
  • Zmień go do komórek statycznych
  • Następnie zmień go na zgrupowanych komórek
  • utworzyć dowolną liczbę grup, jak trzeba
  • Dla każdej komórce dodać przełączniki jako potrzebne
  • Dodawanie stopki i nagłówka do każdej grupy
  • Dodaj ładne zdjęcia obok każdej opcji, jak chcesz.

Mam nadzieję, że to pomoże. Oto jeden z moich przykładowych zrzutów ekranu projektu. Nie widzisz nagłówka i stopki, które utworzyłem.

enter image description here

+0

Jak uzyskać znak strzałki w prawo? – Bhargav

+1

@Bhargav W Storyboard można wybrać komórkę i zmienić jej akcesorium na ** Wskaźnik ujawnienia **. –

4

Skoro używasz tego ustawienia, czy zastanawiałeś się nad InAppSettingsKit?

W przypadkach, w których może to być przesada, uciekam się do tworzenia statycznego widoku tabeli w scenorysie, w którym mogę układać poszczególne ustawienia i mieć kontrolę nad wyglądem podczas projektowania.

Powiązane problemy