1

J'utilise UILocalnotification ... à la réception de la notification j'ouvre viewcontroller lorsque l'application est en mode actif ... mais si plusieurs notifications sont reçues en même temps ... comment faire j'ouvre le multiple viewcontroller ... au-dessus de l'autre et de les renvoyer successivement .... J'ai essayé d'ouvrir viewcontroller mais cette erreur apparaîtiOS: gérer plusieurs uilocalnotification avec plusieurs même viewcontroller

Warning: Attempt to present <NotificationViewController: 0x7fc033b43900> on <UINavigationController: 0x7fc031859600> whose view is not in the window hierarchy! 

Répondre

1

Il y a un hack pour le faire.

écrire une extension pour afficher le contrôleur:

extension UIViewController { 
    var lastPresentedViewController: UIViewController { 
     guard let presentedViewController = presentedViewController else { return self } 
     return presentedViewController.lastPresentedViewController() 
    } 
} 

ou objc:

UIViewController + LastPresentedViewController.h:

@interface UIViewController (LastPresentedViewController) 
-(UIViewController *)lastPresentedViewController; 
@end 

UIViewController + LastPresentedViewController.m:

@implementation UIViewController (LastPresentedViewController) 
- (UIViewController *)lastPresentedViewController { 
    if (self.presentedViewController) { 
     return [self.presentedViewController lastPresentedViewController]; 
    } else { 
     return self; 
    } 
} 
@end 

lorsque vous devez présenter un contrôleur de vue de NavigationController simplement appeler cette méthode comme ceci:

navigationController.lastPresentedViewController.presentViewController(.... 

si vous êtes déjà à l'intérieur NavigationController il suffit d'appeler lastPresentedViewController.presentViewController(...

+0

salut @yunus im en utilisant Objective-C pouvez-vous me aider faire avec ça ... –

+0

hmm Je n'ai pas écrit d'objectif-c depuis longtemps laissez-moi essayer :) –

+0

Je suppose que vous pouvez comprendre comment l'appeler? –