iOS - 화면 맨 위에 있는 UIViewController 가져오기
2212 단어 iOS-Tips
rootViewController 가져오기
The root view controller provides the content view of the window. Assigning a view controller to this property (either programmatically or using Interface Builder) installs the view controller’s view as the content view of the window. If the window has an existing view hierarchy, the old views are removed before the new ones are installed.
rootViewController의 설정은 키윈도를 설정할 때 흔히 볼 수 있으며, 이 UIWindow의 맨 밑바닥을 나타내는 UIViewController입니다.
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
UIViewController *rootViewController = keyWindow.rootViewController;
currentViewController 가져오기
일반적으로 현재 화면 맨 위에 있는 ViewController를 다음과 같이 가져올 수 있습니다.
- (UIViewController *)currentViewController {
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
UIViewController *vc = keyWindow.rootViewController;
while (vc.presentedViewController) {
vc = vc.presentedViewController;
if ([vc isKindOfClass:[UINavigationController class]]) {
vc = [(UINavigationController *)vc visibleViewController];
} else if ([vc isKindOfClass:[UITabBarController class]]) {
vc = [(UITabBarController *)vc selectedViewController];
}
}
return vc;
}