В viewcontroller (A) другой viewcontroller (B) появится как модальный VC.
При установке следующих свойств представить VC (B) и представить его topViewController в окне ключа не работает.
B.providesPresentationContextTransitionStyle = YES;
B.definesPresentationContext = YES;
[B setModalPresentationStyle:UIModalPresentationOverCurrentContext];
- (void)presentViewControllerInKeyWindow:(UIViewController*)viewController animated:(BOOL)animated completion:(void (^)(void))completion
{
UIViewController *topViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
if(topViewController.presentedViewController != nil) {
topViewController = [UIApplication sharedApplication].keyWindow.rootViewController.presentedViewController;
while(topViewController.presentedViewController) {
topViewController = topViewController.presentedViewController;
}
}
[topViewController presentViewController:viewController animated:animated completion:completion];
}
Предупреждающий контроллер не показывает, вместо этого выдает ошибку.Ошибка говорит, что VC уже представлен.