Qual è il modo più accurato per ottenere il titolo o l'indice della sezione più in alto in UITableView? Non intendo la sezione dell'indice 0, ma l'intestazione della sezione che è attualmente bloccata in alto durante lo scorrimento.Ottieni la sezione pin di UITableView corrente
risposta
È possibile ottenere la sezione nella parte superiore dello schermo in questo modo:
NSUInteger sectionNumber = [[tableView indexPathForCell:[[tableView visibleCells] objectAtIndex:0]] section];
Ma, questo metodo potrebbe non essere ottimale per voi, perché otterrà il numero sarà strano quando si è nel periodo di transizione tra due intestazioni. Finché non hai bisogno di conoscere la sezione durante la transizione, dovresti stare bene. Spero che questo sia quello che stai cercando,
Chiedi alla classe di implementare UIScrollViewDelegate e implementare le seguenti funzioni. Assicurerà di recuperare la sezione solo quando tableview smette di scorrere.
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if (!decelerate)
{
// retrieve section here
section = [[[self.tableview visibleCells] objectAtIndex:0] section];
}
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
// retrieve section here
section = [[[self.tableview visibleCells] objectAtIndex:0] section];
}
Immagino che, facendo così, prevenga il problema di confondere le sezioni quando sono in transizione? – Bot
Questo genera errori con la mia cella personalizzata per qualche motivo ... '- [Sezione AppointmentCustomCell]: selettore non riconosciuto inviato all'istanza 0x89af850'. Tutto quello che sto facendo è NSLoggiare la sezione nel codice sopra indicato. – Bot
Questo è vecchio ma tutti i tipi di errori perché 'self.tableView visibleCells' fornisce' UITableViewCells' e non 'IndexPaths'. Dopo aver ottenuto indexPaths, possiamo fare indexPaths [0] .section. – esh
credo che invece di interrogare per i visibleCells, è meglio chiedere per i percorsi di indice seguente modo:
NSInteger section = [[[self.tableView indexPathsForVisibleRows] firstObject] section];
È possibile utilizzare questo codice in una delle UIScrollViewDelegate
metodi secondo la vostra esigenze.
versione Swift
Usa primo (corrente appuntato) o ultima (ultima visualizzata)
if let section:Int = tableView.indexPathsForVisibleRows?.last?.section {
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: section), atScrollPosition: UITableViewScrollPosition.None, animated: true)
}
- 1. Ottieni l'ultima cella in una sezione Uitableview
- 2. Sfondo sezione UITableView?
- 3. Sezione UITableView con sfondo clearColor?
- 4. MKMapView: Ottieni evento su clic sul pin di annotazione
- 5. UITableView Scorrere fino alla sezione
- 6. Intestazione di sezione UITableView iOS 5
- 7. UITableView con intestazioni di sezione fissa
- 8. Abilita la modifica di UITableView solo in una sezione specificata
- 9. Ombra intorno a una sezione di UITableView
- 10. Come aggiungere un'intestazione di sezione in UITableView
- 11. Ottieni la directory batchfile corrente
- 12. UITableView: Nascondi intestazione dalla sezione vuota
- 13. Ottieni l'indice selezionato di UITableView
- 14. Ottieni la posizione corrente di scrollview animata
- 15. L'intestazione della sezione UITableView è tutto nero
- 16. Ordina contatti in ordine alfabetico con la Sezione UITableView
- 17. UITableView Intestazione sezione personalizzata, duplicato problema
- 18. Cambiare colore dell'intestazione della sezione in UITableview
- 19. Intestazione della sezione UITableView non visualizzata
- 20. viewForHeaderInSection autolayout - larghezza pin
- 21. Ottieni la cella corrente in Excel VB
- 22. Ottieni la lingua corrente in C#
- 23. Ottieni la scheda attiva corrente tramite JS.
- 24. Ottieni il MethodBase corrente attraverso la riflessione
- 25. Eclipse: ottieni la posizione del file corrente?
- 26. Caratteri non statunitensi nelle intestazioni di sezione per UITableView
- 27. UITableView Indice sezione pulsante di eliminazione righe sovrapposte
- 28. Personalizzazione degli indici di sezione in UITableView nell'applicazione iphone
- 29. UITableView intestazione di sezione a destra anziché predefinita a sinistra
- 30. Ottieni il colore corrente
Quale metodo dovrei mettere questo per mantenere la corrente sectionNumber? – Bot
Scrollviewdidscroll se si desidera che si aggiorni ogni volta che l'utente scorre –
Brillante, grazie! – devios1