iOS 如何判断状态栏是否隐藏

2017-12-19  本文已影响51人  S型身材的猪

系统的UIApplication自带这种判断

BOOL  statusBarHidden = [UIApplication sharedApplication].statusBarHidden;

但是,如果你的隐藏方式不是通过UIApplication隐藏的,而是用iOS9之后的[UIViewController prefersStatusBarHidden]的方式隐藏的,这种判断就不管用了。
有个小技巧,通过UIApplication的statusBarFrame属性判断,如果状态栏是隐藏的,那么statusBarFrame就是CGRectZero.

// 如果statusBarFrame为CGRectZero,说明状态栏是隐藏的,不论哪种隐藏方式都管用
CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;
上一篇下一篇

猜你喜欢

热点阅读