在iOS 8中创建In-call / double-height状态栏?

时间:2015-07-29 14:36:23

标签: ios

是否有一种标准的方式来调用自定义的通话/双高状态栏?如果没有,那么开始构建我自己的功能的最佳位置。我知道有关于如何做到这一点有几年的问题,但没有任何令人满意的答案。有没有新的方法来做到这一点? (可能在iOS 8中)

2 个答案:

答案 0 :(得分:3)

这里没什么新东西,但是我找不到好的过去的答案,所以...

您是否希望在双倍高度状态栏条件下测试应用的布局(例如在通话或导航期间)?使用模拟器并转到菜单栏中的硬件→切换呼叫状态栏⌘Y,就像它一直以来一样。

您是否希望进行一些导致双高状态栏出现的背景活动?在这种情况下,状态栏由系统提供,以响应您执行某些活动:

  • 录制:在应用的Info.plist中设置UIBackgroundModesaudio键。然后,当您要录制音频时,请在音频会话中设置AVAudioSessionCategoryRecordAVAudioSessionCategoryPlayAndRecord类别。

  • VoIP:还有您应用的Info.plist中的UIBackgroundModesvoip键。然后,当您要拨打电话时,在音频会话中设置AVAudioSessionCategoryPlayAndRecord类别。

系统会确定状态栏上显示的内容,并且App Store通常不会接受使用状态栏显示背景模式的应用程序,而不是指定目的。

答案 1 :(得分:0)

应用程序外的红色横幅由iOS创建。要在应用内部创建绿色通话中横幅,没有内置功能,您需要创建自己的功能。

我问过&回答了类似的问题here

  

iOS基本上没有内置功能来显示应用内状态   吧,你需要创建自己的。 @ cjensen的回应引领我   this   文章解释了这个。

     

如果您需要应用内呼叫状态栏,则需要自行创建   或使用像KrauseFx这样的库   TSMessages为你做这件事。   使用UILocalNotification作为@cjensen建议只是一种方法   提供一个入口点来决定何时来创建这个横幅。