我一直试图通过监听UIApplicationWillChangeStatusBarFrameNotification通知来监听状态栏高度的变化 - 例如显示或隐藏通话中状态栏,或者与互联网网络共享状态栏相同发送。
这里相当简单的代码......
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(statusBarWillChangeFrame:)
name:UIApplicationWillChangeStatusBarFrameNotification
object:nil];
但是,在这种情况下似乎永远不会发送通知,无论是在模拟器上使用“切换呼叫状态栏”选项,还是在呼叫以应用程序打开结束时在设备上发送。此外,不会调用类似的UIApplicationDelegate方法。
根据文件,
UIApplicationWillChangeStatusBarFrameNotification
申请时发布 更改状态栏的框架。
userInfo字典包含 封装了一个的NSValue对象 CGRect结构表达 新状态的位置和大小 酒吧框架。使用 UIApplicationStatusBarFrameUserInfoKey 访问此值。
有人可以解释为什么没有发送此通知以响应显示或隐藏的通话中状态栏?根据文档,它应该是。
答案 0 :(得分:3)
看起来好像这是一个活跃的SDK错误。这么多。
请参阅http://openradar.appspot.com/6475681和http://openradar.appspot.com/7080782。