我正在展示一個模式UINavigationController
與交互式解僱過渡。父視圖控制器有一個黑暗的狀態欄和模式視圖控制器一個燈光狀態欄。我正在使用基於iOS 7視圖控制器的狀態欄外觀配置。交互式視圖控制器解僱和更改statusBarStyle不兼容?
只要我以非交互方式呈現和解除視圖控制器,所有工作都可以正常工作。但是,當我開始交互式解散轉換並取消它時,狀態欄顏色仍然很暗。我建立了sample project。點擊「菜單」按鈕,然後通過從右邊的屏幕邊緣進行平移來啓動交互式過渡。
事情我已經嘗試:
- 呼籲所涉及的任何導航視圖控制器的
-setNeedsStatusBarAppearanceUpdate
後的過渡已經取消 - 改變navigationBar.barStyle到
UIBarStyleDefault
和回UIBarStyleBlack
我還驗證了我的模態導航控制器的statusBarStyle設置正確:
(lldb) p (UIStatusBarStyle) [[[[[UIApplication sharedApplication] keyWindow] rootViewController] presentedViewController] preferredStatusBarStyle]
(UIStatusBarStyle) $8 = UIStatusBarStyleLightContent
不過,狀態欄是黑色的。
任何進一步的想法,我可以嘗試嗎?
完全合理。然而,當presentViewController不是零時,我會遇到某種碰撞,但是轉換剛剛結束。所以基本上首選的是在目標控制器的viewDidAppear [interactive dismiss]之前查詢StatusBarStyle。 – Andy
根據您的示例項目,您可以在NVC做更多的工作,正如我所設想的那樣。 https://github.com/futuretap/UIViewController-Transitions-Example/blob/master/UIViewController-Transitions-Example/FTNavigationController.m。謝謝你的樣品! – Andy