在开头呈现模态视图

时间:2011-02-21 04:02:59

标签: iphone

我正在使用菜单的模态视图,它应该在应用程序的最开始出现。然后,触摸菜单中的按钮可将视图更改为主视图...

与许多其他模态视图用法不同,模态视图必须在没有主视图触摸的情况下假装,但必须先于它...

当通过按钮在主视图中间调用时,模态视图显示成功,但如果我将其显示在开头(通过放置

)则不起作用
 [self presentModalViewController:menuModal animated:YES];

在早期阶段调用的函数..)

我考虑从菜单视图中将主视图称为模态视图,但这是一种相反的方式,所以我不确定。 我怎么能实现它? 请帮帮我...

2 个答案:

答案 0 :(得分:3)

无法在viewDidLoad和viewWillAppear方法的现有视图上推送模态视图或普通视图。由于视图本身在此之前尚未加载。

因此,放一个

-(void)viewDidAppear:(BOOL)animated
 {
      [self presentModalViewController:menuModal animated:YES];
 }
您在应用初始视图或主视图的(void)viewDidAppear:(BOOL)animated方法(如上所示)中的

语句。

希望这会对你有所帮助。

答案 1 :(得分:0)

我通常这样做的方法是创建一个splashViewController类。当app delegate启动时,我实例化splashVC,并将其添加到主窗口。在splashVC中,您可以放置​​按钮,当用户点击按钮时,splashVC将自行删除。

在appDelegate中:

 // in didFinishLaunching
 SplashViewController *svc = [[SplashViewController alloc] init];
 [self.window addSubview: svc.view];
 svc.view.tag=kSPLASHTAG;
 [svc release];

 [window makeKeyAndVisible];

在splashVC中:

 // in viewDidLoad or init method
 // create your menu, add it to self.view

 // in button tap method
 [self.view removeFromSuperview];