¿Es posible "esconder" los scrollers de un NSScrollView y aún así obtener un comportamiento de desplazamiento gestual?Can NSScrollView scroll if setHasHorizontalScroller: ¿NO?
Respuesta
¿Por qué no lo intentas?
Para responder la pregunta: Sí, si el usuario tiene un mouse con una rueda de desplazamiento o un panel táctil con capacidad de desplazamiento, aún es posible desplazarse por la vista, a pesar de que los desplazamientos son invisibles.
Hace que el ScrollView para no mostrar un desplazador y no responder a desplazamiento gestual:
-setHasHorizontalScroller:NO
causa una rueda de desplazamiento con discapacidad que se mostrará, pero responde a gestual desplazamiento:
-setHasHorizontalScroller:YES
-setHidden:YES
Creo que tal vez quiere decir "SÍ hace que se muestre un desplazamiento desactivado ** NO **, pero responde al desplazamiento gestual", ¿no? –
Crear Subclase NSScroller y establecerlo como el desplazador vertical/horizontal para la instancia NSScrollView.
El NSScroller subclase debe anular este (10.7 y superior):
+ (CGFloat)scrollerWidthForControlSize:(NSControlSize)controlSize scrollerStyle:(NSScrollerStyle)scrollerStyle {
return 0;
}
No funciona en 10.8. El desplazamiento permanece desactivado. – svoisen
Esto es definitivamente un error en AppKit. Yo era capaz de conseguir este funcionamiento en 10.8.5 utilizando cualquiera de las siguientes soluciones:
1) Subclase NSScroller (método preferido)
+ (BOOL)isCompatibleWithOverlayScrollers
{
// Let this scroller sit on top of the content view, rather than next to it.
return YES;
}
- (void)setHidden:(BOOL)flag
{
// Ugly hack: make sure we are always hidden.
[super setHidden:YES];
}
Fuente: jmk en https://stackoverflow.com/a/12960795/836263
2) El rebote y el impulso parecen estar rotos cuando se usa el estilo heredado. También rompe parcialmente el código de scroll synchronization de Apple. Hace que las vistas de desplazamiento restablezcan la posición de desplazamiento si una es NSScrollerStyleOverlay
y la otra es NSScrollerStyleLegacy
. Si se desplaza la vista de desplazamiento de estilo de superposición, se desplaza el estilo heredado, restablece ambas vistas de desplazamiento a la parte superior y = 0 desplazamiento de desplazamiento.
[self.scrollView setHasVerticalScroller:YES];
[self.scrollView setScrollerStyle:NSScrollerStyleLegacy];
[self.scrollView setHasVerticalScroller:NO];
Sí, es posible. Intente esto pronto después de inicializar el scrollView.
self.scrollView.wantsLayer = YES;
He conseguido que esto funcione sin ocultar una subclase NSScroller
y sin tocar setHasVerticalScroller:
. Además, si self.scrollView
es una subclase que anula drawRect:
, intente desactivarla para asegurarse de que lo que está haciendo allí no está causando el problema.
- 1. NSScrollView infinite/scroll sin fin | subview reuse
- 2. Can Ruby no baja nada?
- 3. Ocultar scrollers dejando el desplazamiento habilitado en NSScrollView
- 4. Jquery Nice scroll no funciona
- 5. Superposición NSView sobre NSScrollView
- 6. TVirtualStringTree y vertical Scroll no funciona correctamente
- 7. desplazamiento suave/scroll inercial/impulso scroll
- 8. Modal box en iPhone no scroll
- 9. NSTextView dentro de un NSScrollView no se desplaza :(
- 10. rieles Can Can Capacidad de clase para múltiples modelos Idear
- 11. Can Structuremap DefaultConventionScanner encuentra clases no públicas
- 12. ¿Es posible el uso de can-can con clase dos
- 13. JQuery Detect Scroll at Bottom
- 14. Can Events se puede declarar como Static, if yes how and why
- 15. ¿El bytecode de Can Lua para las declaraciones 'if' salta hacia atrás?
- 16. ¿Dónde está mi NSTableView en NSScrollView?
- 17. jQuery-autocomplete scroll issue
- 18. OSX/Cocoa - NSScrollView con fondo transparente
- 19. NSScrollview y transparente, subcapas NSScroller superpuestas
- 20. DIV auto scroll
- 21. ListView get scroll position?
- 22. GridView con scroll horizontal
- 23. Moving Div with Scroll
- 24. Can not Mod Zero?
- 25. Make "scrollLeft"/"scrollTop" cambios no desencadenan scroll event listener
- 26. centro documentView en el centro de NSScrollView
- 27. Centrar una NSView dentro de un NSScrollView
- 28. NSScrollView saltando hacia abajo en desplazamiento
- 29. scroll rápido custom thumb
- 30. Android Scroll Pagination
No estoy seguro de lo que estoy haciendo mal. Puedo desplazarme con mi trackpad cuando configuroHasizontralScroller: SÍ, pero no si setHasHorizontalScroller: NO. – NuBee