Ich habe eine UITableView
und ich versuche, 36 Zeilen hinein zu laden und blättern Sie dann die letzte Zelle hinunter.Scrollen Sie den ganzen Weg bis zum Ende von UITableView
Ich habe dies versucht:
func reloadData(){
chatroomTableView.reloadData()
chatroomTableView.scrollToBottom(true)
}
extension UITableView {
func scrollToBottom(animated: Bool = true) {
let sections = self.numberOfSections
let rows = self.numberOfRowsInSection(sections - 1)
if (rows > 0){
self.scrollToRowAtIndexPath(NSIndexPath(forRow: rows - 1, inSection: sections - 1), atScrollPosition: .Bottom, animated: true)
}
}
}
Aber es scrollt nur halb nach unten.
Haben 'rows' und' sections' den erwarteten Wert in Ihrer Funktion 'scrollToBottom', wenn ' S heißt? – rmaddy
Ja, rows = 36 und sections = 1. Es scrollt jedoch nur in Zeile 10 von Abschnitt 0. –
Versuchen Sie, Ihren Aufruf von 'scrollToBottom' innerhalb eines' dispatch_async' oder vielleicht 'dispatch_after' einzubinden. – rmaddy