Ensure 'link new device' view is portrait.

This commit is contained in:
Matthew Chen 2019-02-01 10:22:33 -05:00
parent bf685776be
commit 6bfe0f0418
1 changed files with 15 additions and 2 deletions

View File

@ -15,11 +15,19 @@ NS_ASSUME_NONNULL_BEGIN
- (UIViewController *)findFrontmostViewController:(BOOL)ignoringAlerts
{
NSMutableArray<UIViewController *> *visitedViewControllers = [NSMutableArray new];
UIViewController *viewController = self;
while (YES) {
[visitedViewControllers addObject:viewController];
UIViewController *_Nullable nextViewController = viewController.presentedViewController;
if (nextViewController) {
if (!ignoringAlerts || ![nextViewController isKindOfClass:[UIAlertController class]]) {
if ([visitedViewControllers containsObject:nextViewController]) {
// Cycle detected.
return viewController;
}
viewController = nextViewController;
continue;
}
@ -27,8 +35,13 @@ NS_ASSUME_NONNULL_BEGIN
if ([viewController isKindOfClass:[UINavigationController class]]) {
UINavigationController *navigationController = (UINavigationController *)viewController;
if (navigationController.topViewController) {
viewController = navigationController.topViewController;
nextViewController = navigationController.topViewController;
if (nextViewController) {
if ([visitedViewControllers containsObject:nextViewController]) {
// Cycle detected.
return viewController;
}
viewController = nextViewController;
} else {
break;
}