2011-03-09 74 views
0

好吧,就這樣吧。我有一個相當複雜的界面項目,包括一個分層導航器,當我選擇一個葉子項目時,我將呈現兩個內容控制器中的任意一個(因爲用戶可以查看需要自己的控制器的兩種產品)。把它想象成一個文件夾導航器,其中文件夾是嵌套的,並且只有兩種文件,每個文件都有自己的查看器。當我選擇一個文件時,我提供了一個模態控制器,可以是「docAViewController」,也可以是「docBViewController」。UINavigationController背景顏色,同時翻轉視圖

這是完美的工作。

我的問題是:docBViewController是在兩個UIViewControllers之間翻轉的UINavigationController。 (我從另一個開發人員的體系結構繼承了它,並且必須應付它)。

當我翻轉兩個視圖控制器(查看器和信息窗格)時,背景顏色是白色,當我希望它是黑色的。 docBViewController是通過代碼(無XIB)創建的,我試圖在其viewDidLoad方法中設置其背景顏色[self.view setBackgroundColor:[UIColor blackColor]],它什麼都不做。

任何人都知道我在哪裏/如何實現這一目標?

回答

1

你是如何翻看意見的?有幾種方法可以做到這一點。

我注意到,當使用UIView transitionFromView:toView:duration:options:完成時,視圖被翻轉並替換它的視圖必須共享相同大小的父視圖才能使動畫正常工作。更重要的是,這個父視圖的背景不會出現(如果背景是黑色的,當其他視圖翻轉時,您可能仍然看到白色),但是其父背景將會出現。

所以......

你需要翻動翻動1)將定義區域中的父和2),其母公司爲背景的父母是在動畫過程中不動的觀點。

這就是我所觀察到的。

+0

也許開發人員應該使用'presentModalViewController'設置一個transitionStyle來翻轉,但他是通過手工聲明一個UIView動畫並翻動兩個viewcontrollers的viewws「。我會嘗試通過在父代的背景中看到我可以實現的目標... – Cyrille 2011-03-09 17:50:55

+4

通過在應用代理的'didFinishLaunching'中設置'[window setBackgroundColor:[UIColor blackcolor]]'來解決它。謝謝! – Cyrille 2011-03-09 17:53:24

+0

@Cyrille - 正是我在過去的一個小時裏一直在努力的!真棒! – StCredZero 2013-01-25 06:29:59