如何在iOS中查找当前视图控制器
我的应用程序的入口是一个如何在iOS中查找当前视图控制器,ios,viewcontroller,Ios,Viewcontroller,我的应用程序的入口是一个UINavgationViewController。根视图控制器是一个uitabarviewcontroller。uitabarviewcontroller包含一些正常的UIViewControllers。这些控制器可以调用: self.navgationController.pushViewcontroller(其他视图控制器,动画:true) 但是,我有另一个线程在后台运行。如何知道主屏幕上当前显示的是哪个视图控制器 我试图调用UIApplication.keywin
UINavgationViewController
。根视图控制器是一个uitabarviewcontroller
。uitabarviewcontroller
包含一些正常的UIViewController
s。这些控制器可以调用:
self.navgationController.pushViewcontroller(其他视图控制器,动画:true)代码>
但是,我有另一个线程在后台运行。如何知道主屏幕上当前显示的是哪个视图控制器
我试图调用UIApplication.keywindows.rootviewcontroller
,但它返回UINavgationViewController
UINavgationViewController.viewcontrollers.count==1
,它只包含一个UITabBarViewController
我想您可以从选项卡栏获取所选的视图控制器:
navigationController.tabBarController.selectedViewController
尝试在每个视图控制器类中使用viewdide
方法
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"Currennt view:%@",self);
}
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"%@",appDelegate.navController.topViewController);
self
返回ViewController类的名称
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"Currennt view:%@",self);
}
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSLog(@"%@",appDelegate.navController.topViewController);
您可以获得被推送的最顶端的控制器