iOS7以前叹谁,設(shè)置statusBar的方式一般都是通過application的setStatusBarHidden方法來實(shí)現(xiàn)蜕猫,這個(gè)方法是針對整個(gè)應(yīng)用的祭阀,一旦狀態(tài)更改了惦界,影響到所有的viewController,而iOS9以后這個(gè)方法就被棄用了霞溪。
代替的方法是覆蓋viewcontroller的prefersStatusBarHidden方法孵滞。
步驟如下:
1. 更改應(yīng)用plist中的UIViewControllerBasedStatusBarAppearance 設(shè)置為Yes
2. 覆蓋viewController的prefersStatusBarHidden方法,如果需要隱藏statusBar鸯匹,就返回Yes坊饶,否則返回no。對比setStatusBarHidden來說殴蓬,實(shí)現(xiàn)了viewController互相之間的設(shè)置不受影響匿级。
3. 如果需要?jiǎng)討B(tài)刷新statusBar的狀態(tài),需要手動(dòng)調(diào)用viewController的setNeedsStatusBarAppearanceUpdate方法染厅。