3 回答

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

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
偏移的視圖控制器是vc的話:
顯示statusBar同時(shí)將偏移設(shè)回去
setStatusBarHidden = YES; CGRect frame = vc.view.frame; frame.origin.y += 20; vc.view.frame = frame;

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
navigationbar statusbar tabbar toolbar等,設(shè)置translucent屬性為yes,就可以把這些對(duì)象占用的frame給消除掉。
如果想手動(dòng)只有自己在hidden的時(shí)候設(shè)置frame。
- 3 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報(bào)