目标 C:如何从 appdelegate 呈现模态视图控制器?
Posted
技术标签:
【中文标题】目标 C:如何从 appdelegate 呈现模态视图控制器?【英文标题】:Objective C: How to present modal view controller from appdelegate? 【发布时间】:2011-08-15 16:06:23 【问题描述】:我在我的应用程序的 appdelegate 中。如何在“didfinishlaunching”方法中添加模态视图控制器?
我尝试了以下方法,但没有成功
SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.navigationController presentModalViewController:vc animated:NO];
编辑: 我将实现更改为以下
self.tabController.selectedViewController
= [self.tabController.viewControllers objectAtIndex:0];
SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.selectedViewController presentModalViewController:vc animated:NO];
我检查了“选定的视图控制器”不为空......但是我仍然无法获得所需的输出。我有什么遗漏吗?
【问题讨论】:
当您尝试上面的代码时,您在调试器中看到什么了吗?如果有,那里有什么? 【参考方案1】:假设 tabController 和 navigationController 不为 nil,applicationDidFinishLaunching 可能会过早显示模态视图控制器。
-
确保在设置窗口键并使其可见之后放置该代码。
[self.window makeKeyAndVisible];
如果这不起作用,请尝试监听该窗口的 UIWindowDidBecomeKeyNotification
您可以尝试使用 performSelector:withObject:afterDelay: 将该模式的呈现延迟几秒钟
【讨论】:
连同upvote,向您的回答致敬。它节省了我很多时间来让它与我目前正在考虑的其他逻辑一起工作。 [self.window makeKeyAndVisible];像魅力一样工作以上是关于目标 C:如何从 appdelegate 呈现模态视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 appDelegate 呈现 UIAlertView
错误 - 目标 C - '应用程序试图以模态方式呈现活动控制器 <splitViewDetailViewController:'
我如何从目标 c 代码中获取 Swift AppDelegate 的参考
应用程序试图在目标 <UIApplicationRotationFollowingController: 0x100c75280> 上呈现一个 nil 模态视图控制器