我需要一个根视图控制器实例。
我尝试了这些方法:
UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController];
返回: null:
另外,当我尝试获取控制器数组时:
NSArray *viewControllers = self.navigationController.viewControllers;
它仅返回一个控制器,但不是我的根视图控制器。
如果我尝试从导航控制器中获取:
UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0];
返回: null:
有什么想法吗?我还能尝试获得根视图控制器的一个实例吗?
谢谢。
keyWindow是活动窗口,例如,当显示UIAlertView时,UIAlertView的窗口是keyWindow但不是AppDelegate的窗口。如果要获取应用程序的rootViewController,则可以使用[[[[UIApplication sharedApplication]委托] window] rootViewController ] 更好。
—
无夜之星辰