3 回答

TA貢獻1853條經驗 獲得超6個贊
沒有太看明白你的意思。
首先statusBar的高度就是20像素,如果你setStatusBarHidden=YES了,那么所有的View自然都會上移20像素,整個window的bounds就變成320*480了,而非普通帶statusBar的320*480,這時候你所有的界面都要展昭320*480來設計。
如果你遇到的是,首頁View的y坐標從屏幕外-20開始這種情況,那么應該是在statusbar的隱藏過程中window和view的坐標系出現了混亂,我實驗沒有重現這種情況,但以前遇到過,解決方案是 手動的重設window和view的frame
另外,我建議:如果你要隱藏statusBar那么應用的生命周期就一直隱藏,直接在plist里設置,不要用代碼控制一會兒有一會兒沒有。

TA貢獻1802條經驗 獲得超5個贊
偏移的視圖控制器是vc的話:
顯示statusBar同時將偏移設回去
setStatusBarHidden = YES; CGRect frame = vc.view.frame; frame.origin.y += 20; vc.view.frame = frame;

TA貢獻1801條經驗 獲得超16個贊
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
navigationbar statusbar tabbar toolbar等,設置translucent屬性為yes,就可以把這些對象占用的frame給消除掉。
如果想手動只有自己在hidden的時候設置frame。
- 3 回答
- 0 關注
- 228 瀏覽
添加回答
舉報