Modifica del testo in una cella statica UableView?
-
27-10-2019 - |
Domanda
Sto usando una vista da tabella "celle statiche" creata nel mio file di storyboard. Tuttavia, vorrei aggiornare il testo su una di queste celle quando viene modificata un'impostazione.
Sto spingendo un controller di visualizzazione che aggiorna l'impostazione. Sto cercando di usare un callback per cambiare il testo della cella quando è saltato fuori dallo stack, ma a quel punto la cella è stata apparentemente riciclata o riutilizzata, quindi il vecchio oggetto è fuori schermo e non più utilizzato nella vista del tavolo.
Esiste un modo per aggiornare questo testo e renderlo permanente (in modo che quando la cella viene scorreta fuori dallo schermo e ritorna, appare ancora il nuovo valore)?
Soluzione
Supponendo che la gerarchia di visualizzazione del tavolo sia sulla falsariga di:
Table View (static cells)
- Table View Section
- Table View Cell
- UILabel (with the text property you want to modify)
- Dichiarare un iboutlet
UILabel
nel tuo codice e preparalo nello storyboardUILabel
Nella gerarchia di visualizzazione della tabella sopra. - Nel tuo metodo di callback, imposta il tuo
UILabel
Proprietà del testo come ritieni opportuno.
Altri suggerimenti
Puoi archiviare il testo che desideri cambiare come proprietà e usarlo in:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)
switch (indexPath.section, indexPath.row) {
case (0, 3):
cell.textLabel?.text = yourProperty
default: break
}
return cell
}