iOS 6 UIGESTURES (TAP) deja de funcionar con QLPREViewController
-
12-12-2019 - |
Pregunta
Actualmente estoy usando un controlador QLPREVEVIEWController en un controlador de navegación.(PushViewController)
Para ocultar la barra de navegación, utilizo un uitapgesturerecognizer.El usuario puede mostrar / ocultar la barra de navegación por un solo toque (TAP). Esto funcionó bien en iOS5
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:self];
[[self view] addGestureRecognizer:tapRecognizer];
[tapRecognizer release];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
- (void)tapped:(UIGestureRecognizer*)gestureRecognizer
{
//hide -/- show navigation bar
[[self navigationController] setNavigationBarHidden:![[[self navigationController] navigationBar] isHidden] animated:YES];
}
Pero en la versión publicada de iOS 6, los grifos ahora se ignoran por completo, por lo que ya no puedo ocultar mi barra de navegación.
Razón ¿Por qué quiero ocultar la barra de navegación?
Si abre un documento .Numbers, la barra de navegación oculta los 'botones de hoja' debajo de la barra de navegación.
ty.
Solución
Dado que iOS 6, el controlador QLPREVEVIEWController es en realidad una aplicación completamente separada (proceso separado y todo)
Apple usa XPC para eso:
- http://oleb.net/blog/ 2012/10 / Controladores de vista remota-in-ios-6 /
-
https://twitter.com/eldudi/statuses/253438028163457024
=> Entonces, cuando presionas, toda su aplicación se mueve a la BG, incluida sus reconocimientos de ventana y gesto