Per il controller di visualizzazione delle impostazioni della mia app, voglio avere una vista tabella con una serie di opzioni che l'utente può modificare. Interruttori a levetta, segui, stepper, ecc.Le migliori pratiche per progettare la visualizzazione tabella per le impostazioni dell'app?
Qual è il modo migliore per farlo? Le visualizzazioni di tabella sono piuttosto semplici nel caso in cui ogni cella segua un layout semplice. Forse un titolo e qualche sottotesto. Ma in questo caso una cella può essere uno di, diciamo, cinque layout a seconda del tipo di impostazione che viene modificata.
è il modo migliore per gestire questa situazione alla sottoclasse UITableViewCell, e del tableView cellForRowAtIndexPath:
, prima di tornare nella cella impostare una proprietà personalizzata come kind
a qualcosa come toggle
o label
? Quindi nel viewDidLoad
della sottoclasse di tale cella si imposta la cella in base alla proprietà kind
?
È inefficiente? Devo creare una cella con tutti i controlli già presenti, ma nascosta, quindi abilitarli in base a kind
? Devo avere una sottoclasse per ogni tipo di cella con controlli diversi che voglio?
Ecco come sto pensando di gestirlo. Ma c'è un modo più preferito? È inefficiente perché non ha un modello necessariamente prevedibile da una cella all'altra?
io consiglierei InAppSettingsKit come accennato in [risposta di @Wayne Hartman] (http://stackoverflow.com/a/17495359/795339).Ma se si dovesse creare tutto ciò da zero, creerei la vista tabella in uno storyboard e realizzerò una cella prototipo riutilizzabile per ogni tipo di campo: una cella prototipo per un campo di testo, una per un interruttore, ecc. la cella prototipo sarebbe una sottoclasse diversa di 'UITableViewCell' e implementerà un protocollo definito dall'utente, con le proprietà per il nome dell'etichetta e forse il nome di una chiave nel dizionario delle impostazioni per associare il campo a. –