NSTableView scrollRowToVisible mit Animation

7

Ich versuche, eine Aktion zu implementieren, um zum Anfang einer NSTableView und zum Ende von NSTableView zu scrollen. Ich verwende scrollRowToVisible , aber ich würde die Animation gerne animieren. Gibt es eine Möglichkeit, dies zu tun?

    
keegan3d 28.10.2011, 04:24
quelle

4 Antworten

22

Während NSTableView keine scroll-Eigenschaft besitzt, die Sie direkt animieren können, können Sie stattdessen mit ein wenig Mathe das Scrollen des NSClipView animieren, in dem sich NSTableView befindet.

Hier ist, wie ich dies getan habe (innerhalb einer benutzerdefinierten Unterklasse von NSTableView), um die Zeile am rowIndex sanft zu animieren, um, wenn möglich, zur Mitte der Ansicht gescrollt zu werden:

%Vor%     
CuriousKea 12.12.2011, 20:23
quelle
11

Wenn Sie auf 10.8 oder höher ausgerichtet sind und Ihre Tabellenansicht mit Ebenen versehen ist, können Sie Folgendes tun:

%Vor%     
pfandrade 19.08.2015 19:48
quelle
2

Es scheint nicht möglich zu sein. NSTableView hat keine Animationen bis 10.6 unterstützt. Ausgehend von MasOSX10.7 wurden einige einfache Animationen zur Klasse hinzugefügt. Sie können das Einfügen, Entfernen und Verschieben von Zeilen an neue Positionen animieren. Das ist es soweit.

    
Davyd 28.10.2011 05:04
quelle
2

Es gibt keinen einfachen Weg, aber ich nähere mich dem, indem ich NSAnimation herlege, und wenn es von 0.0 auf 1.0 fortschreitet, multipliziere das mit der gesamten Scrolldistanz, um deinen Offset zu erhalten, und rufe scrollToPoint nacheinander auf: um den Eindruck eines Glatt zu bekommen Scroll-Aktion. Es sollte in der Theorie funktionieren, obwohl ich nicht sicher bin, wie gut der Scrollview zusammenarbeiten würde.

    
Francis McGrew 28.10.2011 05:32
quelle

Tags und Links