2012-05-08 71 views
0

我有一個大小提示的導航欄。當推送到目的地segue時,在父級的導航欄中設置我的圖像,將navbar有效地渲染爲子級的默認值。我該如何停止這個動畫並保留小孩的導航欄的大小和默認樣式?當推動segue時停止動畫導航欄

+0

或者乾脆在推後刪除孩子中的圖像? – ruelluna

+0

什麼是**大小**提示?你爲什麼要防止動畫? – Abizern

+0

我有一個「帶提示的導航欄」。這是74的高度。當我將視圖切換到子視圖時,它將動畫變爲44.(從字面上看動畫 - 移動到44的大小)。 – ruelluna

回答

1

執行navigationBar定製在

-(void) viewWillAppear:(BOOL)animated 

要重置的變化,你可以返回默認的子視圖viewWillAppear或根視圖

-(void) viewWillDisappear:(BOOL)animated 

一個更好的選擇取決於navigationBar設置你所需要的。

+0

我已經得到它..如何切換到視圖時可以擺脫動畫? – ruelluna

+0

取決於您使用的是「UINavigationController」還是使用'setPrompt:',您可以增加'navigationBar'框架,添加子視圖'UILabel'並使用'UINavigationControllerDelegate'或'UINavigationBarDelegate'對動作進行push/pop操作獨立的'UINavigationBar'。我沒有示例顯示,但它必須是一個搜索周圍的方向。 –

+0

「UINavigationController」的另一個解決方案是隱藏它的'UINavigationBar'並將你自己的'UINavigationBar'子視圖添加到'UIApplication'實例'keyWindow'中。這不會使用任何導航控制器動畫進行動畫,並且您需要自己準備所有動畫,請小心使用此方法,並且不要忘記,您希望帶來與標準「動畫」相同的用戶體驗, UINavigationController'實現。 –