目标C:如何从appdelegate呈现模态视图控制器?

时间:2011-08-15 16:06:23

标签: objective-c ios modalviewcontroller

我在申请的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];

我检查了选定的视图控制器'不是null ...但是我仍然无法获得我需要的输出。有什么我想念的吗?

1 个答案:

答案 0 :(得分:19)

假设tabController和navigationController不是nil,则applicationDidFinishLaunching可能为时过早,无法显示模态视图控制器。

  1. 确保在制作窗口键并显示后放置该代码。 [self.window makeKeyAndVisible];
  2. 如果这不起作用,请尝试侦听该窗口的UIWindowDidBecomeKeyNotification
  3. 您可以尝试使用performSelector:withObject:afterDelay:
  4. 延迟该模态的演示几秒钟