是否可以为新的 Apple Music应用程序中的statusBar动态着色?

编辑:

iOS 8.4中的新Apple Music应用程序具有此功能。

  • 打开应用程序。
  • 选择并播放一首歌曲(状态栏为白色)
  • 向下滑动播放器 Controller 以查看“我的音乐” Controller (它具有黑色状态栏,也许您必须返回导航层次结构)。
  • 现在只需向上/向下滑动即可查看动态状态栏更改。

  • 编辑2:

    Apple文档似乎现在不允许我们使用它(iOS 8.4)。将来可能会与iOS 9一起提供。

    编辑3:iOS 9中似乎尚不可用。

    最佳答案

    我99.99%的人肯定不能(轻松地)使用公共(public)API来完成此操作,因为我尝试了自己几乎所有的东西(我个人也不认为这是其状态栏的一种神奇方法,但是相反,他们的应用程序可以检索状态栏 View ,然后对其应用蒙版)。

    我确定的是,您可以创建自己的StatusBar,并且有MTStatusBarOverlay库,但是很旧的库很旧,因此我无法真正确定它是否有效,但似乎仍有人在使用它。

    但是我认为使用库的方式确实可以解决,需要很多工作,但是可行,尽管不是“实时”的。简而言之,您可以这样做:

  • 截取前20个像素的屏幕截图(状态栏)
  • 从该屏幕快照remove everything that is not black(您可以对其进行改进,以便它搜索黑色边缘,这样可以保留绿色电池和透明性),这将使您的覆盖蒙版和假状态栏
  • 用以下内容覆盖状态栏: mask 实际状态栏的背景 View 以及刚创建的Alpha图像
  • Apply mask to that image,被蒙版的所有内容都会将颜色更改为白色
  • 根据用户滚动
  • 更改蒙版的高度

    现在,您应该能够正确滚动并正确更改颜色了。剩下的唯一问题是状态栏还没有激活,但是真的吗?滚动出去后,立即删除叠加层,使其刷新。滚动到最顶部时,您将执行相同的操作,但是在这种情况下,您将状态栏的颜色更改为白色(无动画),因此适合您的状态。它只会在短时间内不存在。

    希望能帮助到你!

    10-05 20:47
    查看更多