Ho un controller di navigazione laterale e lo presento tramite un UIButton. Quando faccio questo NC il controller vista radice direttamente da [self presentviewcontroller: NC animated: YES completion: nil]
, qualche ragione il lato menu del NC è bloccato da un UITransitionView
che non riesco a far scomparire.Visualizzazione bloccata da UITransitionView dopo la presentazione
Ho allegato un'immagine dello . è un altro.
Ho provato quanto segue:
UIWindow *window = [(AppDelegate *)[[UIApplication sharedApplication] delegate] window];
window.backgroundColor = kmain;
CATransition* transition = [CATransition animation];
transition.duration = .5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromTop;
[nc.view.layer addAnimation:transition forKey:kCATransition];
[UIView transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionNone
animations:^{ window.rootViewController = nc; }
completion:^(BOOL finished) {
for (UIView *subview in window.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UITransitionView")]) {
[subview removeFromSuperview];
}
}
}];
Ma è molto hacky, e come il RootViewController della finestra cambia durante la transizione, è un po 'mosso e parte del navigationController e in alto a destra nero. Sembra molto male.
avete fatto trova la causa principale? Ho incontrato lo stesso problema qui. Rimuovere la vista o disabilitare il tocco sulla vista sembra una soluzione, ma come evitarlo? Non capisco perché è venuto fuori. – RainCast
E 'stato tanto tempo fa che non ne sono del tutto sicuro, ma credo di aver cambiato completamente le librerie e sono andato con JASidePannelController: https://github.com/gotosleep/JASidePanels Molto più facile da lavorare. – Jameson
Grazie @jameson! – RainCast