我一直在尝试通过监听要发送的uiapplicationWillChangeStatusBarFrameNotification通知来监听状态栏高度的变化,例如显示或隐藏呼叫状态栏时,或与Internet限制状态栏相同。
这里的代码相当简单…
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(statusBarWillChangeFrame:)
name:UIApplicationWillChangeStatusBarFrameNotification
object:nil];
但在这种情况下,无论是在模拟器上使用“在调用状态栏中切换”选项,还是在应用程序打开时调用结束时在设备上,通知似乎从未发送过。此外,不调用类似的uiApplicationDelegate方法。
根据文件,
ui应用程序将更改状态栏框通知
在应用程序即将发布时发布
更改状态栏的框架。
用户信息字典包含
封装一个
cDirect结构表示
新状态的位置和大小
杆架。使用
uiapplicationstatusbarframeuserinfokey(应用程序状态栏用户信息键)
访问此值。
有人能解释为什么在显示或隐藏呼叫状态栏时不发送此通知吗?根据文件,应该是。