Sono stato in grado di farlo impostando modalPresentationStyle = UIModalPresentationCurrentContext
sul rootViewController della mia UIWindow, SE non ho presentato alcun nuovo viewController a schermo intero su questo rootViewController. Ho fatto qualcosa di simile:
UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:vc animated:YES completion:nil];
Ho provato questo sia un UINavigationController come RootViewController della mia finestra e vari altri controllori visualizzazione personalizzata. Sembra che finchè il rootViewController della finestra sappia cosa sta succedendo, qualsiasi sub-viewControllers può chiamare presentViewController:animated:completion:
senza oscurare la vista sottostante.
Tuttavia, supponiamo che tu presenti un'altra viewController sulla parte superiore della finestra rootViewController. E questa nuova viewController viene presentata con modalPresentationStyle = UIModalPresentationFullScreen
(ad esempio occupa lo schermo), quindi è necessario chiamare modalPresentationStyle = UIModalPresentationCurrentContext
sul viewController più in alto.
Quindi, per ricapitolare:
- Se hai UINavigationController -> UIViewController (s) (potrebbero essere spinti e spuntato dentro e fuori), poi si impostare
modalPresentationStyle = UIModalPresentationCurrentContext
sul UINavigationController.
- Se si dispone di UINavigationController -> UIViewController -> new-UIViewController (con modalPresentationStyle impostato su UIModalPresentationFullScreen), quindi si imposta
modalPresentationStyle = UIModalPresentationCurrentContext
sul nuovo UIViewController.
Speriamo che questo funzioni anche per voi ragazzi! suggerimenti
fonte
2012-10-26 01:09:57
Qual è lo stile di presentazione del ViewController da cui si presenta? – brynbodayle
@bbodayle, sto riscontrando lo stesso problema e ho provato tutti gli stili/combinazioni di presentazione su entrambi i ViewControllers. –