2013-01-08 5 views
6

Wenn selectRowAtIndexPath:animated:scrollPosition: mit, ich vorbei in UITableViewScrollPositionNone. Trotz des Namens erwarte ich, dass die Tabellenansicht bei Bedarf scrollt, so dass die Zeile sichtbar ist (und nicht scrollt, wenn sie bereits sichtbar ist).UITableViewScrollPositionNone Bildlauf nicht die Tabellenansicht

UITableViewScrollPositionNone - die Tabellenansicht scrollt die Reihe von Interesse, mit einem Minimum an Bewegung vollständig sichtbar zu sein. Wenn die Zeile bereits vollständig sichtbar ist, tritt kein Bildlauf auf. Wenn sich die Zeile beispielsweise über dem sichtbaren Bereich befindet, entspricht das Verhalten dem von UITableViewScrollPositionTop angegebenen Verhalten. Dies ist der Standardwert.

Allerdings finde ich, dass die Tabellenansicht überhaupt nicht scrollt. Wenn ich UITableViewScrollPositionTop oder UITableViewScrollPositionBottom verwenden, rollen die Tabellenansicht wie erwartet.

Kann es möglich sein, dass die Dokumentation für diese falsch sind? Oder fehlt mir etwas?

+0

Die Dokumentation ist auf jeden Fall richtig. Implementieren Sie eine scrollTo-Animation? – jakenberg

+0

ich nur anrufen [self.tableView scrollToRowAtIndexPath: myPath atScrollPosition: UITableViewScrollPositionNone animiert: Ja] in allen drei Beispielen. –

+0

Haben Sie bestätigt, dass Ihre Grenzen richtig gesetzt wurden? – jakenberg

Antwort

0

Sie müssen sicherstellen, dass der Inhalt nach Ansicht der Tabellenansicht um den Raum zu bewegen hat. Ich muß einmal die Tabellen-Ansicht scrollen, da Benutzer tippen Sie auf einem Textfeld und die Tastatur kamen, ich brauche die die Tabellenansicht Inhalt auf die Höhe der Höhe der Tastatur erstrecken, so dass die Tabellenansicht bewegen kann. Wie folgt aus:

UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardFrame.size.height, 0.0); 
self.tableView.contentInset = contentInsets; 
self.tableView.scrollIndicatorInsets = contentInsets; 
[self.tableView scrollToRowAtIndexPath:self.currentEditingCellIndexPath atScrollPosition:UITableViewScrollPositionNone animated:YES]; 
4

Die Dokumentation für UITableView des selectRowAtIndexPath: animated: scroll: hat einen Abschnitt, der beschreibt, was Sie erleben.

Spezielle Überlegungen UITableViewScrollPositionNone Passing wird Ergebnis in keiner Scrollen, eher als die minimalen Scrollen beschrieben für diese Konstante. Blättern zu der ausgewählten Zeile neu mit minimalen Scrollen, wählen Sie die Zeile mit dieser Methode mit UITableViewScrollPositionNone, rufen dann scrollToRowAtIndexPath: atScrollPosition: animierte: mit UITableViewScrollPositionNone.

Hoffnung, das hilft!

Verwandte Themen