iOS在StatusBar上添加覆盖状态栏的view

iOS应用中一般只有一个window,且只有一个keyWindow.

获取window的方法为[UIApplication sharedApplication].keyWindow

应用中的window的windowLevel为UIWindowLevelNormal

这个level在alert和statusBar下面,所以在window上添加view也会显示在statusBar下面。

能覆盖statusBar的方法:

wind = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
wind.windowLevel = UIWindowLevelStatusBar;
wind.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
wind.userInteractionEnabled = NO;
wind.hidden = NO;
[[UIApplication sharedApplication].keyWindow addSubview:wind];

注意:此wind必须是私有变量或者全局变量,生命周期随所在控制器的生命周期。

你可能感兴趣的:(iOS在StatusBar上添加覆盖状态栏的view)