Created
February 2, 2012 05:28
-
-
Save ananfang/1721691 to your computer and use it in GitHub Desktop.
TopViewController category for UIViewController
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// UIViewController+TopViewController.h | |
// | |
// Created by Fang Andy on 12/2/2. | |
// Copyright (c) 2012年 Openmouse Studio. All rights reserved. | |
// | |
#import <UIKit/UIKit.h> | |
@interface UIViewController (TopViewController) | |
- (UIViewController *)topViewController; | |
- (UIViewController *)traverseTopViewController; | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// UIViewController+TopViewController.m | |
// | |
// Created by Fang Andy on 12/2/2. | |
// Copyright (c) 2012年 Openmouse Studio. All rights reserved. | |
// | |
#import "UIViewController+TopViewController.h" | |
@implementation UIViewController (TopViewController) | |
- (UIViewController *)topViewController | |
{ | |
return [self traverseTopViewController]; | |
} | |
- (UIViewController *)traverseTopViewController | |
{ | |
if (self.presentedViewController) { | |
return [self.presentedViewController traverseTopViewController]; | |
} else if (self.navigationController) { | |
return self.navigationController.visibleViewController; | |
} else if ([self isMemberOfClass:[UINavigationController class]]) { | |
return [(UINavigationController *)self visibleViewController]; | |
} else { | |
return self; | |
} | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment