2010-09-07 52 views
5

我介紹了一個模態視圖控制器,它是一個帶有導航控制器的標籤欄控制器。presentModalViewController上的不同過渡:動畫:

問題是我的第一個視圖有黑色的背景,我希望新的視圖有白色的背景。

這意味着我要麼必須具有透明背景的模式視圖控制器(直到它顯示白色背景時完成「向上滑動」動畫)或者我必須將導航控制器背景設置爲白色以便使其不透明。

這會導致我在導航欄上出現一個額外的白色條紋(網絡狀態/電池狀態/時間條所在的位置)。我無法擺脫這一點。 :(

所以,如果我可以翻轉的視圖,或者褪色它,還是從右邊或左邊或者一些會更好怦然心動了。

有沒有辦法做到這一點下滑呢?或將我只需要設置「動畫:」爲NO

感謝

回答

10

我不明白用不同顏色的背景,你的處境是關於你的意見不透明的背景,尤其是動畫的人,讓?應用程序運行得更快。現在,有關轉換,在調用presentModalViewController之前,請插入以下行之一:

modelViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
modelViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
modelViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
modelViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl; 

以上任何一種都會改變過渡樣式(儘管PartialCurl會導致最後一個視圖的白色位置仍然存在於頂部角落;它似乎沒有記錄,雖然它被地圖應用程序使用)。你可能需要玩什麼modalTransitionStyle設置。

從左側或右側滑入是導航控制器的一部分。使用導航控制器時,更改背景可能不是您想要的。 。

此外,該模型視圖上方額外條即將出現,無論哪種方式,你在過渡這很煩人,但它可以在來如下:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    navigationController.view.frame = CGRectMake(0, 0, 320, 460); //<--This line 
} 
+0

基本上我不想有一個透明的背景 - 但白色的背景顯示頂部惱人的白色條紋。最後一點你的答案是我正在尋找的。謝謝 :) – 2010-09-21 08:35:59