WWDC2023揭秘iOS UIKit的全新变化

WWDC(苹果全球开发者大会)是每年一度的盛会,苹果在此向开发者展示其最新的技术和平台更新。今年的WWDC2023也不例外,让我们一起揭秘iOS UIKit中出现的全新变化,这些变化将为开发者带来令人振奋的功能和改进,以支持创新的应用开发。

1.常见的

使用新的#Preview Swift宏,可以在代码旁边预览你的视图和视图控制器。

利用新的视图控制器外观回调函数viewIsAppearing(_😃,可以运行依赖于视图的初始几何属性的代码。系统会在视图和视图控制器都具备最新的特征集合,并且在父视图将视图添加到层次结构并进行布局之后调用此方法。此方法可在 iOS 13 及更高版本中使用。

了解一下特征系统的改进,它使你能够为自己的数据定义自定义特征,在整个视图层次结构中快速更改特征值,并以更灵活的方式注册特征变化。欲了解更多信息,请参阅 WWDC23 会议 10057:释放 UIKit 特征系统。

通过使用UIContentUnavailableConfiguration,在你的应用中一致地展示和管理空状态。UIContentUnavailableConfiguration提供了新的系统标准样式和布局,用于常见的空状态。帮助用户理解为何没有内容,并在可能的情况下提供如何添加内容的指导。

在你的应用中创建一个强大的文本体验。通过改变与文本项交互时的默认点击或菜单行为,定义更丰富的交互。如果你实现了自定义的文本显示界面,可以通过采用新的文本选择界面来支持重新设计的文本光标。为文本字段添加额外的文本内容类型标记,以帮助用户更快地填写表单。欲了解更多信息,请参阅 WWDC23 会议 10058:文本和文本交互的新功能。

允许用户将支持的文件和内容拖放到主屏幕上的应用图标上,以便在你的应用中打开它们。为确保你的应用正确配置,验证你的 Info.plist 文件是否使用 CFBundleDocumentTypes 指定了你的应用所支持的文件类型。

辅助功能和国际化

简化辅助功能代码的维护,使用基于块的设置器来设置辅助功能属性。通过指定默认、低或高优先级来确保人们首先接收到最重要的信息。通过使用新的切换和缩放辅助功能特性,增强自定义辅助功能元素。

通过在所有语言中测试你的用户界面,为国际用户创建出色的文本体验。采用文本样式,以充分利用字体系统的增强功能,比如对中文、德文、日文和韩文等语言的改进换行和连字符功能,以及对包括阿拉伯语、印地语、泰语和越南语在内的多种语言的可变行高功能的增强,提高可读性。通过指定区域设置,访问符号图像的本地化变体。
##iPadOS
通过为拖动窗口提供更大的目标区域,帮助用户自定义其Stage Manager配置。利用分割视图控制器的新调整大小行为,充分利用你的UI在Stage Manager中的潜力。

支持使用硬件键盘快捷键来滚动滚动视图的内容。这个行为默认启用,你可以使用allowsKeyboardScrolling来进行覆盖。

简化以文档为中心的应用程序中的文档管理。将你的UIDocument子类设置为导航项的重命名委托,以自动处理文件的重命名。使用UIDocumentViewController构建你的内容视图控制器,它提供了一个系统默认的文档管理体验:自动配置标题菜单、共享、拖放、键盘命令等功能。欲了解更多信息,请参阅 WWDC23 会议 10056:构建更好的以文档为中心的应用程序。

增强你的iPadOS应用中的Apple Pencil体验。通过使用UIHoverGestureRecognizer为你的应用绘制笔画的预览,为应用增添了一种立体感。支持PencilKit中的新墨水,包括单线、钢笔、水彩和蜡笔等。

视图和控件

使用新的符号效果(symbol effects),包括弹跳(bounce)、脉动(pulse)、可变颜色(variable color)、缩放(scale)、出现(appear)、消失(disappear)和替换(replace),对符号图像进行动画效果。

使用集合视图(collection views)构建性能更高的应用程序,并实现灵活的布局。应用差异数据源快照(diffable data source snapshots)和批量更新,以获得更好的性能。对于组合布局(compositional layouts),使用uniformAcrossSiblings(estimate:)维度来指定兄弟项之间的统一尺寸,其中较小的项会增大尺寸以匹配最大的兄弟项。

通过为新的视图动画方法animate(springDuration:bounce:initialSpringVelocity:delay:options:animations:completion:)提供持续时间(duration)和弹跳(bounce)参数,简化弹簧动画(spring animations)的实现。

使用页面控件(page controls)来表示内容页面的分数进度。

展示和操作高动态范围(HDR)图像。

使用displayAsPalette将菜单显示为调色板,以便以菜单元素行的形式出现,供用户从一组项目中选择。

利用UIStatusBarStyle.default状态栏样式,该样式现在会自动选择浅色或深色外观,以与其下方的内容保持对比度。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值