我试图在当前当前 UIViewController 之上呈现一个新的 UIViewController。这是创建所需效果的代码行:
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UIViewController *rootController = [[[UIApplication sharedApplication] keyWindow] rootViewController];
[rootController presentViewController:loginViewController animated:YES completion:nil];
问题是我添加了一个 UIActionSheet,它要求用户确认所需的操作(即注销)。当用户确认操作时,我运行上面提到的代码和平,但 UIActionSheet 仍然是 keyWindow。因此 LoginViewController 没有出现在顶部(当我尝试调试时 rootController 为空)。
我的问题是:我能否以某种方式找到 UIActionSheet 下的 UIWindow 并从那里获得根控制器,或者我可以在用户选择注销操作时以编程方式关闭 UIActionSheet,然后才执行上述代码?
先感谢您!