@@ -248,6 +248,25 @@ - (UIWindow*) keyWindow {
248248 return nil ;
249249}
250250
251+ /* *
252+ Find the top view controller that is not of type UINavigationController or UITabBarController
253+ */
254+ - (UIViewController *)topViewController : (UIViewController *)baseViewController {
255+ if ([baseViewController isKindOfClass: [UINavigationController class ]]) {
256+ return [self topViewController: ((UINavigationController *)baseViewController).visibleViewController];
257+ }
258+
259+ if ([baseViewController isKindOfClass: [UITabBarController class ]]) {
260+ return [self topViewController: ((UITabBarController *)baseViewController).selectedViewController];
261+ }
262+
263+ if ([baseViewController presentedViewController ] != nil ) {
264+ return [self topViewController: [baseViewController presentedViewController ]];
265+ }
266+
267+ return baseViewController;
268+ }
269+
251270- (BOOL ) willLoadViewControllerWithURL : (NSURL *)matchURL {
252271 if (self.primaryWindow ) return NO ;
253272
@@ -321,25 +340,6 @@ - (void) unloadViewController {
321340 self.requestInProgress = NO ;
322341}
323342
324- /* *
325- Find the top view controller that is not of type UINavigationController or UITabBarController
326- */
327- - (UIViewController *)topViewController : (UIViewController *)baseViewController {
328- if ([baseViewController isKindOfClass: [UINavigationController class ]]) {
329- return [self topViewController: ((UINavigationController *)baseViewController).visibleViewController];
330- }
331-
332- if ([baseViewController isKindOfClass: [UITabBarController class ]]) {
333- return [self topViewController: ((UITabBarController *)baseViewController).selectedViewController];
334- }
335-
336- if ([baseViewController presentedViewController ] != nil ) {
337- return [self topViewController: [baseViewController presentedViewController ]];
338- }
339-
340- return baseViewController;
341- }
342-
343343- (void )safariViewController : (SFSafariViewController *)controller
344344 didCompleteInitialLoad : (BOOL )didLoadSuccessfully {
345345 NSLog (@" Safari Did load. Success: %d ." , didLoadSuccessfully); // eDebug
0 commit comments