Come faccio a creare un TableView come nell'applicazione Impostazioni di rete sull'iPhone?

StackOverflow https://stackoverflow.com/questions/1815729

  •  08-07-2019
  •  | 
  •  

Domanda

Come posso creare una tale vista tabella? Quindi, se accendo l'interruttore, dovrebbero essere aggiunte 2 celle.

Ho già provato

[tableView numberForRowsInSection:6];
[tableView reloadData];

ma questo non funziona come previsto :(

qualche idea?

La cosa migliore sarebbe 2 sezioni la prima sezione contiene 5 celle, la seconda sezione contiene una cella con un interruttore spento e se l'interruttore è cambiato 2 celle verranno aggiunte alla sezione 2. (Aggiunta con un'animazione :) )

mhh ..

Grazie in anticipo, sono molto entusiasta di ogni risposta :)

È stato utile?

Soluzione

Da dove hai estratto questo metodo -numberForRowsInSection: ? Per quanto ne so io (e la documentazione), non esiste e non è mai esistito come metodo di UITableView. Indovinare non ti porterà da nessuna parte, tanto meno inventare metodi dal nulla.

Forse dovresti rivedere alcuni tutorial che coprono le basi dell'uso di UITableView prima di provare. Dubito che qualcuno si prenderà il tempo di scriverti una classe completa per farlo e metterlo in una risposta, e nel lungo periodo starai molto meglio se non provi semplicemente a copiare / incollare il codice che tu non capisci Esistono molti documenti ed esempi che coprono UITableView, e questo sta solo considerando ciò che è disponibile da Apple: UITableView è una classe così frequentemente utilizzata che cerca su Google qualcosa come "tutorial UITableView"; ti darà pagine e pagine di risultati.

Ti darò una rapida panoramica di ciò che dovresti fare, però: 1. Ovviamente, puoi iniziare con il modello UITableViewController in Xcode e iniziare a personalizzarlo per soddisfare le tue esigenze ... due sezioni, tuttavia molte righe per sezione, ecc., Determinando che in base ad alcuni oggetti a livello di modello, se necessario.

  1. Dovrai creare una sottoclasse UITableViewCell personalizzata o personalizzare il layout UITableViewCell predefinito (almeno aggiungendo una sottoview UISwitch) quando crei nuovi oggetti cella in tableView: cellForRowAtIndexPath: .

  2. UISwitch deve essere configurato per inviare un messaggio al controller della vista quando il valore dello switch cambia utilizzando - [UIControl addTarget: action: forControlEvents:] per UIControlEventValueChanged evento.

  3. Nell'implementazione del metodo di azione per questa modifica del valore dello switch, è necessario implementare la logica per determinare se aggiungere o sottrarre le righe, quindi aggiungere o sottrarre effettivamente le righe. Puoi usare beginUpdates / endUpdates , insertRowsAtIndexPaths: withRowAnimation: e deleteRowsAtIndexPaths: withRowAnimation: per avere una bella riga liscia comportamento dell'animazione invece di chiamare semplicemente reloadData.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top