欢迎光临散文网 会员登陆 & 注册

关于iPhone 14 Pro灵动岛,开发人员和设计人员需要了解的知识

2022-09-17 16:50 作者:云彩数码  | 我要投稿

就在9月15日凌晨,Apple 向开发者测试通道用户推送了 iOS 16.1 Beta 1。跟这个测试版一起到来的是灵动岛(Dynamic island)的 API 和开发文档。这意味着,从更新后开始,开发者可以开始做灵动岛的适配工作。


本文简单说说 iPhone 14 Pro 灵动岛的 UI 界面组成,普通用户想了解的话可以看看。

开发者文档 - 紧凑视图设计规范

上图是开发者网站的文档,从文档来看,灵动岛与锁屏实时活动功能一样,属于 ActivityKit 部分。关于实时活动 ActivityKit,可以看我之前文章。

一些锁屏实时活动例子展示

要提供实时活动,请在项目添加您现有的小部件扩展或创建一个新的小部件扩展。实时活动Live Activity)使用 WidgetKit 功能和 SwiftUI 作为其用户界面。

也就是说灵动岛与锁屏实时活动一样属于小组件的一种。灵动岛与实时活动需要通过远程消息通知或者主App的 ActivityKit 提供的方法进行通知,之后才会出现在灵动岛和锁屏实时活动中。


灵动岛由紧凑视图、最小视图、扩展视图组成

最小视图指的是多个实时活动运行的时候,较旧的那些通知活动就会变成在岛的右边的一个小圆形(如下图上),这个圆形里不一定只放图标,可以放其他搭配,比如图片加文字也是可以的。但这个圆形太小了,能放的内容非常有限。

最小视图 - 仅有小圆圈内

紧凑视图就是如下图这种只有一行显示,在程序里需要在岛的左边和右边的放入内容。

紧凑视图

开发者文档 - 扩展视图

扩展视图是长按灵动岛的活动,就会弹出一个大的视图,上图开发文档已经标注了扩展视图的组成部分,由左、中、右和底部组成,总高度不能超过 144。之前在文章介绍锁屏实时活动的时候说过,实时活动视图总高度不能超过 160,超出部分系统会截断。下图是原神小组件实时活动版。

原神小组件锁屏实时活动版

代码不变移到灵动岛紧凑视图里面就变成了下图中的样子。代码里指定了亮色模式和深色模式的颜色代码,在灵动岛只有深色模式。

原神小组件灵动岛版
扩展视图由左中右底部组成

灵动岛在活动的状态只支持竖屏显示,我把旋转打开,切换横屏,此时在活动状态的这个通知,在横屏状态没有显示。(当然,测试版不代表最终效果,只是目前的版本就是这样)

竖屏状态
横屏状态

来分析一下大家非常关心的问题

以微信为例的消息通知能否适配灵动岛

首先,远程消息推送过来在灵动岛显示的时候,是紧凑视图,也就是只有很小的一行,只有手指长按才会弹出扩展视图,也就是大黑框的那个视图。在紧凑视图里,能显示的内容非常少,用户想要看更多的内容需要长按灵动岛才会弹出,增加了查看消息通知的步骤,我认为,短期内大部分 App 的消息通知不会适配灵动岛。

近期的一些APP内的灵动岛交互

最近有一款用灵动岛交互的打砖块游戏推出,通过击打灵动岛得分。如下图

灵动岛打砖块

今天(9月17日)一款名为 Apollo for Reddit 的社交新闻类 App更新,可以在灵动岛上方养宠物,宠物可以在灵动岛上方走来走去,还会睡觉。网友表示很可爱。

上图我用 Final Cut Pro 转成 Gif 的时候,色彩被改变了,且 FCPX 里面色彩选项修改不了。将就看吧。下面放一张静态的图。

值得注意的是,以上两个 App 的灵动岛交互,只是在 App 内部的交互,在 App 外部是没有这种交互方式的。


更多关于实时活动和灵动岛的规则

实时活动的消息推送大小不能超过 4KB,在灵动岛同样也是这个规定。


实时活动界面部分使用与小组件一样的 WidgetKitSwiftUI 来编写界面,如果以前就写了桌面小组件,那么只需要简单地排版适配,就可以在锁屏实时活动或者灵动岛扩展视图里使用。


自定义实时活动的用户界面时,系统会忽略任何自定义动画,也就是自定义的动画都会无效,但可以使用系统自带的时间文本动画,当实时活动的动态内容发生变化时,系统会执行一些动画。文本视图通过模糊的内容过渡动画内容变化,系统为图像和 SF Symbols 符号动画内容过渡,根据内容或状态更改从用户界面添加或删除视图,视图会淡入淡出。

锁屏实时活动图片改变时系统动画

实时活动大部分的规则,在灵动岛也适用。了解更多实时活动特性,可以看之前发布过的文章。

目前暂时只发现这些,有新的发现和不完善的地方,之后再补充。

关于iPhone 14 Pro灵动岛,开发人员和设计人员需要了解的知识的评论 (共 条)

分享到微博请遵守国家法律