我有一個UITabBarController,它有四個選項卡。其中一個選項卡打開我的結果屏幕(一個UITableViewController)。使用Autolayout,無法將導航欄向下移動20px
在顯示此屏幕時,我想將UINavigationBar向下移動20px(以便爲顯示在所有屏幕上的自定義UIStatusBar騰出空間)。
在我的所有其他屏幕,我的一些代碼添加到viewWillAppear中方法來改變self.navigationController.navigationBar.frame.origin.y至20
,但這些都是「非root」屏幕(即用後退按鈕推動視圖)。
但是,在此屏幕上,即使它是根視圖,UINavigationBar也必須初始可見。我使用相同的代碼,但不會將視圖向下移動。
我假設autolayout將其移回位置,因此我嘗試將此代碼添加到viewWillLayoutSubviews和viewDidLayoutSubviews中。但是當我這樣做時,導航欄不會下移,直到第一次滾動tableview爲止。
在屏幕出現之前,我需要做些什麼來強制導航條向下移動(並保持下來)?