HIG(第47页)说我必须能够处理在电话或录音过程中出现的双高度状态栏。如何检测双高度状态栏?
我到底该如何处理这种情况?
我真的只有一个屏幕,其中带有工具栏的键盘在双高度状态栏显示时位于文本框下方 - 在其他屏幕上,事情只是有点缩小但可用。
如果我可以检测到双高度状态栏存在,我可能可能调整文本框的位置或使它们暂时更短,但可以检测双高度状态栏是否在那里?
编辑:也许如果有一种方式来获得已知事物的绝对坐标,如导航栏,并且如果它是+20像素关闭,我会假设双高度状态栏存在。思考?
和次要问题,如果这个(或任何东西)的作品,我只是想用
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]
隐藏常规状态栏,但我并不想隐瞒都 - 基本上是一个偷懒的方法不必触摸我的任何一个屏幕 - 如果双重存在,通过隐藏常规状态栏再次使它成为一个单独的屏幕。上面的代码会隐藏两者吗?
这是否会解决用户处于打电话或在录音的过程中,THEN进入我的应用程序?或者它只会在应用中监控一次更改? – 2010-08-06 02:20:25
好的,也许你可以检查UIApplicationStatusBarFrameUserInfoKey – 2010-08-06 03:37:15
感谢指出我在正确的方向。在进入应用程序之前处理呼叫始发,在某些viewDidLoad的我只是检查状态栏框架的大小 - 如果超过20,相应地假定正在进行调用和大小视图。我在代表遇到问题。当方法放在我的AppDelegate中时,它会触发,而不是在我需要的类中时,即使我在该类中采用UIApplicationDelegate,也不知道如何处理在每个类中开始或结束的调用 - 从在我想改变视图的类的AppDelegate中的方法? – 2010-08-06 18:38:14