현재 viewcontroller 사용자가 백그라운드 프로세스를 통해 있는지 확인하여 viewcontroller를 기반으로 작업을 수행 할 수 있는지 확인하는 방법. 현재 내가 빠른 2.3IOS 스위프트의 백그라운드 프로세스를 통해 현재 viewcontroller를 얻는 방법
감사를 사용하고, 카말
현재 viewcontroller 사용자가 백그라운드 프로세스를 통해 있는지 확인하여 viewcontroller를 기반으로 작업을 수행 할 수 있는지 확인하는 방법. 현재 내가 빠른 2.3IOS 스위프트의 백그라운드 프로세스를 통해 현재 viewcontroller를 얻는 방법
감사를 사용하고, 카말
당신은 당신은 내가 이미 완료 적이 있지만이 방법을 사용하여 범주를 만들 수있는 방법
- (UIViewController *)topViewController{
return [self topViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
- (UIViewController *)topViewController:(UIViewController *)rootViewController{
if(rootViewController.presentedViewController == nil){
return rootViewController;
}
if ([rootViewController.presentedViewController isMemberOfClass:[UINavigationController class]]) {
UINavigationController *navigationController = (UINavigationController *)rootViewController.presentedViewController;
UIViewController *lastViewController = [[navigationController viewControllers] lastObject];
return [self topViewController:lastViewController];
}
UIViewController *presentedViewController = (UIViewController *)rootViewController.presentedViewController;
return [self topViewController:presentedViewController];
}
이하로 사용하여 상위 뷰 컨트롤러를 찾을 수 있습니다 내 맥, 내 휴대 전화에이 형식을 잘못 입력해서 미안 하네.
당신은 내가 내 맥
편집
을 Heres 범주에 돌아 오면 나는이 카테고리를 추가 할 것입니다 어디
[[UIApplication sharedApplication].keyWindow.rootViewController] topViewController];
에서 카테고리 호출 만든 후 :
을@interface UIViewController (TopViewController)
- (UIViewController *)topViewController;
@end
#import "UIViewController+TopViewController.h"
@implementation UIViewController (TopViewController)
- (UIViewController *)topViewController {
return [self topViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
- (UIViewController *)topViewController:(UIViewController *)rootViewController
{
if (rootViewController.presentedViewController == nil) {
return rootViewController;
}
if ([rootViewController.presentedViewController isMemberOfClass:[UINavigationController class]]) {
UINavigationController *navigationController = (UINavigationController *)rootViewController.presentedViewController;
UIViewController *lastViewController = [[navigationController viewControllers] lastObject];
return [self topViewController:lastViewController];
}
UIViewController *presentedViewController = (UIViewController *)rootViewController.presentedViewController;
return [self topViewController:presentedViewController];
}
@end
나는 이걸 가지고있어. here
의 방법은 여기에 카테고리를 만들고 스위프트에 그를 추가하는 경우에는 문제가 없을 것
let topController = UIApplication.topViewController()
와 상위 뷰 컨트롤러
호출을 찾기위한 UIApplication의 신속한 확장입니다. –
상위 컨트롤러가 무엇이든 상관없이 –
인 경우 tabbar를 반환합니다. 경고 컨트롤러가 표시되면 반환하지 않겠습니까? –