Deaktivieren Sie scrollen in der NSTableView
Gibt es eine einfache Möglichkeit zum deaktivieren scrollen eines NSTableView.
Scheint es, gibt es nicht jede Eigenschaft auf
[myTableView enclosingScrollView]
oder [[myTableView enclosingScrollView] contentView]
zu deaktivieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese funktioniert bei mir: Unterklasse NSScrollView, setup und überschreiben Sie über:
Ich hoffe, das hilft.
Dank @titusmagnus für die Antwort, aber ich habe eine änderung, um nicht zu brechen scrollen, wenn der "Behinderte" scrollView ist Ineinander geschachtelt scrollView: Man kann nicht Blättern, die äußeren scrollView, während der cursor innerhalb der Grenzen der inneren scrollView. Wenn Sie dies tun...
...dann "deaktiviert" scrollView passieren das scroll-Ereignis bis zu den äußeren scrollView und seinen Blättern nicht stecken unten in Ihre Untersichten.
Ist hier die beste Lösung meiner Meinung nach:
Swift 4
Einfach ersetzen
NSScrollView
mitDisablableScrollView
(oderBCLDisablableScrollView
wenn Sie noch ObjC) und du bist fertig. EinfachisEnabled
im code oder in der IB und es funktioniert wie erwartet.Den Hauptvorteil, dass dies für geschachtelte scroll-Ansichten; deaktivieren der Kinder, ohne dass das Ereignis in den nächsten responder effektiv deaktivieren Sie die Eltern, während der cursor über das Behinderte Kind.
Hier sind alle Vorteile dieses Ansatzes aufgeführt:
NSScrollView
true
Wert fürisEnabled
. So oder so, dies kann verwendet werden, in ObjC auch ohne änderung! 😀Gibt es keine einfache, direkte Weg (was bedeutet, es gibt keine Eigenschaft wie UITableView ist
scrollEnabled
, die Sie festlegen können), aber ich fand diese Antwort hilfreich, in die Vergangenheit.Eine andere Sache, die Sie könnten versuchen, (nicht sicher über diese) ist die Unterklassen
NSTableView
und überschreiben-scrollWheel
und-swipeWithEvent
so dass Sie nichts tun. Hoffe, das hilftFunktioniert bei mir: