Ich habe ein UITableView, dessen Datenquelle und Delegat zwischen einigen benutzerdefinierten Datenquellenobjekten umgeschaltet werden, wenn der Benutzer ein segmentiertes Steuerelement berührt (denken Sie an "Top Paid "vs" Top Free "in der App Store App).Programmgesteuertes Erzwingen eines UIScrollView-Scrollens zum Freigeben einer Tabellenansicht mit mehreren Datenquellen
Jedes Datenquellenobjekt speichert seinen letzten Scroll-Inhalt versetzt, und stellt sich wieder her, wenn es die aktive Datenquelle für die View-Tabelle wird, indem Sie:
tableView.contentOffset = CGPointMake(0, savedScrollPosition);
Das funktioniert gut, wenn der Benutzer die Datenquelle schaltet, wenn Die Tabelle befindet sich im Ruhezustand. Wenn der Benutzer jedoch das segmentierte Steuerelement anspricht, während sich die Tabelle noch bewegt (dh verlangsamt), wird die Tabellenansicht weiterhin vom alten Offset abgebremst und überschreibt so effektiv meine contentOffset-Zuweisung.
Gibt es eine Möglichkeit zu erzwingen, die Tabellenansicht zu stoppen Scrollen/Verlangsamen, wenn ich den ContentOffset oder eine andere Möglichkeit, um diese Art von schaltbaren Datenquellen-Tabellenansicht funktionieren arbeiten lassen?
scrollRectToVisible hat es getan, wobei die gespeicherte Bildlaufposition als Ursprung des Rect verwendet wurde und die Grenzen der Tabellenansicht als Höhe verwendet wurden. Sie sind absolut richtig, dass die scroll * -Methoden die Beschleunigung so steuern, dass der Inhalts-Offset nicht gesetzt wird. –
'scrollRectToVisible' hat auch für mich funktioniert. – zekel