Domanda

Ho una vista da tavolo, con un lungo elenco di stringhe. Ci sono intestazioni per ogni sezione, un indice lungo il lato destro e un pulsante di ricerca. Questo è stato implementato a livello di programmazione, usando un UisearchDisplayController, (cioè non in IB).

Quando il pulsante di ricerca è attivato, nascondo le intestazioni (in titleForHeaderInSection) e nascondere l'indice (in sectionIndexTitlesForTableView), chiedendo
if ([self.searchDisplayController isActive])

Il problema è che quando si fa clic sul pulsante Annulla, le intestazioni e l'indice rimangono nascoste, inizialmente. Ho provato (in searchBarCancelButtonClicked) chiamare [self.tableView reloadData], ma questo non funziona.

Ho un [self.tableView reloadData] nel mio viewWillAppear, che aiuta in un modo: se seleziono una riga, spingo un'altra vista sullo stack e poi torno a questa tabella, le intestazioni e l'indice sono lì come desiderato.

Cosa potrei fare di sbagliato?

È stato utile?

Soluzione

Ho scoperto che a volte, quando [tableview rentooaddata] non funziona, facendo questo lo farà:

[tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0];

Per qualsiasi motivo, a volte la vista del tavolo entra in tale stato che deve attendere fino alla prossima iterazione attraverso il ciclo di corsa prima che il ricarica sarà efficace.

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