2011-04-30 47 views
0

我试图运行一个方法,当我的应用程序启动时涉及到呈现模态视图。模态视图出现,因为我可以看到它覆盖状态栏,但它永远不会超出现有视图的前端。在应用程序上显示模态视图启动叶子隐藏在另一个视图后

我在viewDidAppear:(BOOL)动画方法中试过这个,但这对问题没有任何影响。

如果我在应用程序加载时通过点击按钮调用方法并显示模式视图,它应该会显示在顶部。

我是否错过了某些东西,或者有没有办法强制模态视图出现在前面?

的代码我使用目前的看法是这样的

- (void)viewDidAppear:(BOOL)animated { 
ModalView *modalView = [[ModalView alloc] initWithNibName:@"ModalView" bundle:nil]; 
modalView.modalPresentationStyle = UIModalPresentationFullScreen; 
[self presentModalViewController:modalView animated:YES]; 
[modalView release]; 
} 

然而,这是所谓的zbar和一个SDK调用所以我也发出了疑问给他们,如果什么奇怪找出正在进行,以防万一它不是我正在做的事情。

+0

两天前我有同样的问题。你可以显示你的代码吗?你需要过渡来展示你的观点吗? – 2011-04-30 13:06:08

+0

我的视图代码非常多。 - (void)viewDidAppear:(BOOL)animated {modalView * modalView = [[ModalView alloc] initWithNibName:@“ModalView”bundle:nil]; modalView.modalPresentationStyle = UIModalPresentationFullScreen; [self presentModalViewController:modalView animated:YES]; [modalView发布]; } – 2011-04-30 22:13:58

回答

0

您的情况可能会更复杂,但我只写了一个非常简单的应用程序,它什么也不做,只是在开始时加载模态视图。

在主视图控制器中,我添加以下内容。

- (void)viewDidLoad { 
    [super viewDidLoad]; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    ModalView *modalView = [[ModalView alloc] initWithNibName:@"ModalView" bundle:nil]; 
    modalView.modalPresentationStyle = UIModalPresentationFullScreen; 
    [self presentModalViewController:modalView animated:YES]; 
    [modalView release]; 
} 

ModalView只是一个股票UIViewController与创建与它的关联文件的XIB文件。然后,当然,我将ModalView.h头文件导入到应用程序的主视图控制器中。我希望这有帮助。如果还有更多,请随时张贴更多,我们可以尝试修改代码

+0

我遵循你建议的代码。唯一缺少的部分是UIModalPresentationFullScreen位。不幸的是它仍然是一样的。 – 2011-04-30 22:13:32

+0

这绝对是奇怪的,因为这个代码应该工作。对不起,我无法提供更多帮助。当我调用方法时,我会假设某些东西没有完全加载。如果您对ZBar的回答没有任何帮助,那么对该方法设置延迟可能是最佳解决方案。这可确保应用程序已完全加载并可安全地调用您的方法。在此期间,我会建议在你的视图控制器和你设置的模式视图控制器中设置NSLog语句,以查看什么是加载的,以及何时 – justin 2011-05-01 00:42:04

+0

似乎我的问题可能更多,我的视图加载两次。当我加载模态视图时,第一次被覆盖,因为笔尖第二次加载时没有从我可以告诉的第一次释放。 – 2011-05-03 23:35:03