Cómo detectar el desplazamiento de NSOutlineView?
-
28-09-2019 - |
Pregunta
He dos NSOutlineViews mostrados lado a lado que contienen el mismo número de filas (esto es un requisito previo) y I necesidad de sincronizar ellos cuando el usuario se desplaza a través del ratón, teclado o barras de desplazamiento por lo que ven la misma porción de vista (o filas ).
Soy un novato en la tierra de cacao y yo soy incapaz de encontrar cómo esto se puede lograr
Solución
Usted querrá obtener la vista de clip de vista envolvente de desplazamiento del NSOutlineView:
NSClipView * clipView = [[outlineView enclosingScrollView] contentView];
... y establecer sus -setPostsFrameChangedNotifications: a SÍ. Escuchar el NSViewFrameDidChangeNotification desde ese punto de vista y responder en consecuencia.
Nota: La nomenclatura no es muy clara. primera expectativa de la mayoría de la gente -contentView: es que devuelve la vista está desplazando. El -contentView: método devuelve NSClipView de la vista de desplazamiento, mientras que el -documentView: método devuelve el punto de vista real está desplazando.