Scrollen in NSTableView
-
07-07-2019 - |
Frage
Ich bin nicht zu fragen, wie dies zu tun, es ist mehr in Linie „Was würden Sie das nennen?“.
Ich habe eine NSTableView mit mehreren benutzerdefinierten Zellen. Ich möchte die Tabelle Zeile für Zeile scrollen, was bedeutet, dass, wenn ich die Scrollbar nach oben Ich möchte die obere Reihe verschwinden und wenn ich es nach unten bewegen möchte ich die untere Reihe auch verschwinden - ich will nicht die Hälfte meiner Zelle sehen .
Wie nennt man diese Art von Verhalten? Und können Sie einige Hinweise teilen, wenn Sie es in einem NSTableView implementiert haben?
Lösung
Ich bin mir nicht ganz sicher, was diese (vielleicht so etwas wie „constrained Scrollen“?) Aufgerufen werden würde, aber Sie können es tun NSView
der -adjustScroll:
Methode.
Der allgemeine Ansatz ist, dass Sie eine Unterklasse von NSTableView
machen müssen (wenn Sie bereits ein nicht haben), und diese Methode überschreiben eine NSRect
zurückzukehren, das seinen origin.y
Wert auf ein Vielfaches des Zeilenhöhe eingeschränkt hat.
Sie wollen wahrscheinlich auch NSScrollView
den -setVerticalLineScroll:
verwenden, um die richtige Menge einstellen blättern, wenn der Benutzer die Bildlaufpfeile klickt. Sie können die Scrollview erhalten, indem -enclosingScrollView
auf dem Tableview aufrufen.