Ich habe eine UITableview in meinem xcode project.In diese Kommentare werden aufgelistet.Wie kann ich mich auf eine letzte Zelle meiner TableView mit Scroll-Animation konzentrieren?Wie konzentriere ich mich auf die letzte Zelle in einer UITableview mit Scroll-Animation?
Antwort
Unten Methode wird der letzte Index der Sie Tabellenansicht zu finden und zu dieser Zelle mit einer Animation konzentrieren
-(void)goToBottom
{
NSIndexPath *lastIndexPath = [self lastIndexPath];
[<YOUR TABLE VIEW> scrollToRowAtIndexPath:lastIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
-Code den letzten Index Ihrer Tableview zu finden.
-(NSIndexPath *)lastIndexPath
{
NSInteger lastSectionIndex = MAX(0, [<YOUR TABLE VIEW> numberOfSections] - 1);
NSInteger lastRowIndex = MAX(0, [<YOUR TABLE VIEW> numberOfRowsInSection:lastSectionIndex] - 1);
return [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
}
Fügen Sie diesen Code irgendwo in Ihrem View-Controller
[self performSelector:@selector(goToBottom) withObject:nil afterDelay:1.0];
Beachten Sie, dass ein UITableView von UIScrollView erbt
-(void)scrollToBottom:(id)sender
{
CGSize r = self.tableView.contentSize;
[self.tableView scrollRectToVisible:CGRectMake(0, r.height-10, r.width, 10) animated:YES];
}
es ausführen wie
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(…);
[button addTarget:self action:@selector(scrollToBottom:) forControlEvents:UIControlEventTouchUpInside];
(You dont performSelector:…
verwenden müssen)
wäre eine andere Lösung, die die letzte Zeile auswählen werden. Die Tabellenansicht kümmert sich um den Rest.
-(void)scrollToBottom:(id)sender
{
NSInteger lasSection = [self.tableView numberOfSections] - 1;
NSInteger lastRow = [self.tableView numberOfRowsInSection:lasSection]-1;
//this while loops searches for the last section that has more than 0 rows.
// maybe you dont need this check
while (lastRow < 0 && lasSection > 0) {
--lasSection;
lastRow = [self.tableView numberOfRowsInSection:lasSection]-1;
}
//if there is no section with any row. if your data source is sane,
// this is not needed.
if (lasSection < 0 && lastRow < 0)
return;
NSIndexPath *lastRowIndexPath =[NSIndexPath indexPathForRow:lastRow inSection:lasSection];
[self.tableView selectRowAtIndexPath:lastRowIndexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
}
der Knopf ist der selbe.
sehe meine Bearbeitung zum Scrollen durch Auswahl. – vikingosegundo
behoben einige kleinere Fehler. Beachten Sie, dass Sie, wenn Sie sicher sind, dass Ihre 'numberOfRowsInSection' immer einen Wert von 1 oder höher zurückgibt, die while-Anweisung und die folgende if-Anweisung entfernen können. – vikingosegundo
Diese Lösung benötigt ein Klickereignis, um zur letzten Zelle zu gehen. Sie können den performSelector mit Verzögerung verwenden, um nach dem Laden der gesamten Tabellenansicht zur letzten Zelle zu wechseln. –
Swift 3:
let indexPath = IndexPath(row: /*ROW TO SCROLL TO*/, section: /*SECTION TO SCROLL TO*/)
tableView.scrollToRow(at: indexPath, at: .bottom, animated: true)
- 1. UITableView Letzte Zelle ermitteln
- 2. Letzte Zelle in einem UITableView verloren
- 3. Letzte Zelle in einem UITableview-Abschnitt abrufen
- 4. UITableview nicht sichtbar die letzte Zelle beim Scrollen nach unten
- 5. Wie bekomme ich die Höhe von UITableView in einer anderen UITableView in Zelle platziert als childViewController
- 6. iOS7 letzte Zelle in UITableView Schnittkräften in voller Breite Separator
- 7. Wie verwische ich alles, indem ich mich auf das Dokument konzentriere?
- 8. Wie kann ich die Hintergrundfarbe einer Zelle in UITableView auf dem iPhone einstellen?
- 9. Wie beziehe ich mich auf eine Zelle in einer bestimmten Spalte, aber die Zeile wird durch Eingabe in andere Zelle
- 10. Die letzte nicht leere Zelle in einer Reihe bekommen
- 11. Erweitern Sie die UITableView-Zelle in UITableViewstylePlain
- 12. Wie ändere ich die Größe der Bildansicht in einer Zelle?
- 13. Wie bekomme ich die letzte Zelle in einer Zeile einer DataTable?
- 14. Kann ich eine bestimmte Zelle in einer UITableView abhängig vom Status einer anderen Zelle ein-/ausblenden?
- 15. UITableView undeclared Typ Zelle?
- 16. UITableView-Zelle programmatisch markieren
- 17. Recht CellIdentifier für die Zelle in UITableView
- 18. Uitableview Zelle dynamische Höhe
- 19. eliminieren oder zeichnen über die letzte UITableView Trennzeichen
- 20. UITableView Zelle Auswahl mit Fortschrittsbalken
- 21. UITableView Zelle Höhe Animation
- 22. UITableView Zelle hinzufügen Animation
- 23. Wie ändere ich die Größe der Beschriftungen in einer UITableViewCellStyleValue2-Zelle? (UITableView iPhone)
- 24. UiTableview Zelle Skalierungsanimation
- 25. Wie drucke ich eine Zelle in einer Zelle mit fpdf
- 26. uitableview Zelle Auswahlart
- 27. UITableView reloadRowsAtIndexPaths lädt die Zelle kontinuierlich
- 28. Wie die letzte Zelle einer Zeile in einer Tabelle die gesamte verbleibende Breite belegt
- 29. Wie kann ich mich mit Python auf einer Website anmelden?
- 30. UITableView Bildlauf nicht Zelle
dank Kumpel ..... Arbeiten groß ........ :) –
Dank funktioniert gut ... :) – jaydev
funktioniert wie ein Champ – iLearner