IOS 6 UIGestures (TAP) smette di lavorare con Qlpreviewcontroller
-
12-12-2019 - |
Domanda
Attualmente sto usando un qlpreviewcontroller in un controller di navigazione.(pushviewcontroller)
Per nascondere la barra di navigazione uso un uitapgestrecognizer.L'utente può mostrare / nascondere la barra di navigazione da un singolo tocco (toccare). Questo ha funzionato bene in 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];
}
.
Ma nella versione rilasciata di iOS 6 i rubinetti sono ora completamente ignorati, quindi non riesco a nascondere più la mia barra di navigazione.
Motivo per cui voglio nascondere la barra di navigazione?
Se si apre un documento .Numbers, la barra di navigazione nasconde i "pulsanti dei fogli" sotto la barra di navigazione.
ty.
Soluzione
Dal momento che iOS 6 il qlpreviewcontroller è in realtà un'app completamente separata (processo separato e tutto)
Apple utilizza XPC per questo:
- .
- http://oleb.net/blog/ 2012/10 / remoto-controller-controller-in-ios-6 /
-
.
https://twitter.com/eldudi/statuse/253438028163457024
=> Quindi quando lo spinge, tutta la tua app si sposta sulla BG, inclusa la sua finestra e i riconoscimenti di gesto