I have a popover, which I present from the TabBarItem thats why I make it in AppDelegate, but I need to reshow popover in new place if the screen orientation has changed. In other places of my app I just use the didRotateFromInterfaceOrientation method, but it doesn't called in AppDelegate. How can I solve this?
I present a popover by this code:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        if (viewController == [self.objTabBarController.viewControllers objectAtIndex:2])
        {
            if (self.settingsPopover == nil) {
                UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main - iPad" bundle: nil];
                SettingsViewController *settingsController = [mainStoryboard instantiateViewControllerWithIdentifier: @"SettingsPopover"];
                UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:settingsController];
                self.settingsPopover = [[UIPopoverController alloc] initWithContentViewController:navigationController];
                CGSize tabBarSize = self.objTabBarController.tabBar.frame.size;
                CGPoint center = [self.window.rootViewController.view convertPoint:self.objTabBarController.tabBar.center fromView:self.objTabBarController.tabBar.superview];
                center.x += 105;
                center.y -= tabBarSize.height / 2;
                CGRect rect = {center, CGSizeZero};
                [self.settingsPopover presentPopoverFromRect:rect inView:self.window.rootViewController.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
            } else {
                [self.settingsPopover dismissPopoverAnimated:NO];
                self.settingsPopover = nil;
            }
            return NO;
        }
    }
    return YES;
}
				
                        
You can register a
Notificationas follow:Then, implement it in the
AppDelegate:Enjoy. :)