iOS:是不是可以让应用程序在后台显示在屏幕的顶部区域?

Posted

技术标签:

【中文标题】iOS:是不是可以让应用程序在后台显示在屏幕的顶部区域?【英文标题】:iOS: is it possible to get an app to show on the top area of the screen whilst in background?iOS:是否可以让应用程序在后台显示在屏幕的顶部区域? 【发布时间】:2015-09-08 12:39:59 【问题描述】:

地图应用 进入 后台状态 时,可以在 ios 中看到以上内容。是否有可能通过自定义应用程序实现相同的目标,还是只有 Apple 应用程序才能做到(例如 Garageband)?

行为是:

用户打开地图应用并设置导航 用户在后台设置地图 iOS 顶部导航区域变为蓝色并在使用其他应用时保持可见 一旦用户点击该栏,它就会返回到地图应用程序

这些是 Xcode 上可用的背景模式:

所有这些模式都可以这样做吗?

【问题讨论】:

是的..它仅适用于 Apple 应用程序,有 API,但私有 API 就像时钟应用程序图标不断旋转,在任何自定义应用程序中都没有(即应用程序图标上的动画) ^^ 这不是真的@RahulShirphule Shazaam 自 iOS 7 以来一直在这样做,我相信。这取决于您包含的功能。导航将变为蓝色。录音应用程序(GarageBand、Shazaam)会变成红色,你的电话会变成绿色。您可以使用 plist 中的指定键以及一些代码启用这些 糟糕,这是我的错……!好吧,这可能是一个新问题,但是否有可能在我们的自定义应用程序中实现与时钟应用程序图标相同的功能??? @soulshined 可以启用哪些功能?您是否找到了一些关于此的文档?可以分享一下吗? 如果您询问地图应用程序@mm24,那么这是一个可能的功能。这发生在谷歌地图和大多数基于导航的应用程序中。您必须正确设置应用程序的后台状态,Apple 会自动将状态栏添加到设备 【参考方案1】:

是的,你可以通过设置来做到这一点

CLAuthorizationStatus = kCLAuthorizationStatusAuthorizedWhenInUse

而不是kCLAuthorizationStatusAuthorizedAlwaysUse 并将其添加到您的 .plist 中

【讨论】:

谢谢,我要试试这个。【参考方案2】:

你必须在使用授权时请求,但这不是诀窍,这是诀窍

    在项目导航器中单击您的项目 选择您的目标。 点击功能点击 将背景模式转为一种 列表项 选中位置更新复选框。

当然,您必须在 info.plist 中设置 NSLocationWhenInUseUsageDescription 属性

【讨论】:

您好,谢谢。但是,它似乎特定于使用位置更新的应用程序。是否可以使用执行其他类型后台任务的应用程序来实现相同的目标?我看到支持不同的背景模式,在屏幕顶部区域显示的功能是否称为“使用时”? @mm24 其他后台任务如? 我刚刚添加了一个可能的后台任务列表,我正在调查.. @mm24 okey ,对于录音和VOIP,出现相同的横幅但颜色不同,您可以通过在iphone中打开本地语音备忘录应用程序并开始录音并将应用程序置于后台来测试它们将出现一个红色横幅,对于 VOIP,打开环聊应用程序并与某人开始通话,然后将应用程序移至后台会出现一个绿色横幅,如果您觉得这有帮助,请投票,此线程也可以帮助您 @987654321 @ 好的,谢谢。我将对此进行适当的调查并仔细阅读另一篇文章。

以上是关于iOS:是不是可以让应用程序在后台显示在屏幕的顶部区域?的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

应用程序在后台运行时重置约束 - iOS 13

如何让 ScrollView 在 python 中重置到屏幕顶部

让 WKWebView 覆盖整个屏幕

jQuery 是不是有插件可以在屏幕顶部显示“消息栏”,例如 Twitter“密码错误”栏?

iOS App 从屏幕顶部偏移