2011-04-30 41 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