To display the UIAlertController in the NSObject class, use the code below.
UIAlertController * popup = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) { [popup dismissViewControllerAnimated:YES completion:nil]; }]; [popup addAction:cancel]; UIViewController *rootViewController = [[Helper shareInstance] topViewController]; [rootViewController presentViewController:popup animated:YES completion:nil];
// Put the method below in your global helper class.
- (UIViewController *)topViewController { return [self topViewController:[UIApplication sharedApplication].keyWindow.rootViewController]; } - (UIViewController *)topViewController:(UIViewController *)rootViewController { if (rootViewController.presentedViewController == nil) { return rootViewController; } if ([rootViewController.presentedViewController isMemberOfClass:[UINavigationController class]]) { UINavigationController *navigationController = (UINavigationController *)rootViewController.presentedViewController; UIViewController *lastViewController = [[navigationController viewControllers] lastObject]; return [self topViewController:lastViewController]; } UIViewController *presentedViewController = (UIViewController *)rootViewController.presentedViewController; return [self topViewController:presentedViewController]; }
Parth Patel Aug 24 '17 at 9:44 on 2017-08-24 09:44
source share