420 Stimmen

UITableView - nach oben blättern

In meiner Tabellenansicht muss ich nach oben scrollen. Aber ich kann nicht garantieren, dass das erste Objekt Abschnitt 0, Zeile 0 sein wird. Es kann sein, dass meine Tabellenansicht mit Abschnitt Nummer 5 beginnt.

Ich erhalte also eine Ausnahme, wenn ich anrufe:

[mainTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];

Gibt es eine andere Möglichkeit, in der Tabellenansicht nach oben zu blättern?

1voto

handzel Punkte 81

Wenn Sie Objective-C verwenden müssen oder Sie immer noch verliebt sind:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
    [_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

1voto

Gary Punkte 685

Der einfachste Weg, den ich gefunden habe, um die UITableViewController um unter iPhone, iPad und macCatalyst (macOS) nach oben zu scrollen, ist wie folgt:

  • sich auf die Rückkehr vorbereiten 0 de [tableView:numberOfRowsInSection:]
  • aufrufen [self.tableView reloadData]
  • aufrufen [self.tableView layoutIfNeeded]
  • vorbereiten, um die tatsächliche Zeilenzahl von [tableView:numberOfRowsInSection:]
  • aufrufen [self.tableView reloadData]

1voto

Jeni Khant Punkte 340

In Swift-3 :

self.tableView.setContentOffset(CGPoint.zero, animated: true)

1voto

Hier ist der Code zu ScrollTableView nach oben programmatisch

Schnell:

self.TableView.setContentOffset(CGPointMake(0, 1), animated:true)

1voto

Carlos.V Punkte 339

Ich musste die Multiplikation mit -1 * auf die Summe der Statusleiste und der Navigationsleiste, weil sie so hoch über den Bildschirm hinausging,

self.tableView.setContentOffset(CGPointMake(0 , -1 * 
  (self.navigationController!.navigationBar.height +  
  UIApplication.sharedApplication().statusBarFrame.height) ), animated:true)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X