4

的,我有我的應用程序,下面是一個UINavigationController,因此低於UINavigationBar的。我想提出一個模式視圖控制器在這個UINavigationBar的頂部,因爲如果它是在它下面我寫的控制器是沒有意義的(即,我想這顯示視圖控制器時隱藏導航欄)。當前模態視圖控制器在最前面的UINavigationController

與此代碼呈現它:

ukc = [[UnlockKeyboardViewController alloc] init]; 
    [self presentModalViewController:ukc animated:NO]; 

原因模態視圖控制器是UINavigationBar的下方。當我顯示這個模態視圖時,UINavigationBar不應該顯示出來。我怎樣才能解決這個問題?

PS:這是一個越獄的應用程序,所以沒有Interface Builder中。

回答

8
[self.navigationController presentModalViewController:ukc animated:NO]; 
+0

這人做奇妙。謝謝。 – 2012-07-25 20:54:52

0

在與相關的問題開展工作,額外的信息:

note173的答案可與animated:YES了。用戶將看到ukc的視圖在導航堆棧上滑動。

如果您隨後需要解僱ukc並返回到self的看法,這樣做:

 [self.navigationController dismissModalViewControllerAnimated:NO]; 
     [self.navigationController dismissModalViewControllerAnimated:YES]; 

第一個電話駁回ukc。第二次呼叫關閉了導航控制器。什麼是用戶看到的是ukc的觀點滑下,露出self的觀點,與它背後的導航堆棧的一瞥。

所以,你必須在這裏什麼是直接從導航堆棧切換到其它的一些常規視圖控制器的方式,然後再返回到基本視圖控制器,所有的動畫,使連續感。

(如果你的目的是來回切換的導航堆棧和ukc之間,你會解僱ukc一個電話 - self.navigationController dismissModalViewControllerAnimated:YES];這將滑動ukc的觀看到顯示導航堆棧)

請注意,iOS 5中不推薦使用這些方法。我假設presentViewControllerdismissViewControllerAnimated可以做同樣的事情,但我沒有測試過它們。

+0

是的,presentViewController和dismissViewControllerAnimated是當前正確使用的方法。 – lekksi 2013-11-01 07:25:58

相關問題