写点什么

iOS 26 的 SwiftUI 拥抱 LiquidGlass,并引入 WebView 和富文本编辑

  • 2025-06-30
    北京
  • 本文字数:1231 字

    阅读完需:约 4 分钟

大小:576.75K时长:03:16
iOS 26的SwiftUI拥抱LiquidGlass,并引入WebView和富文本编辑

在 2025 年的全球开发者大会(WWDC)上,苹果公司发布了其声明式UI框架SwiftUI的最新版本,引入了两项重大更新:一种新的 SwiftUI 原生WebView类型和在 TextView 控件中支持富文本编辑。此次更新还带来了大量额外的改进和新的性能工具。

 

新的WebView类型可以在应用中显示 HTML、CSS 和 JavaScript 内容。默认情况下,该视图提供了用户熟悉的浏览体验,包括支持使用链接在网页之间导航,以及前进和后退按钮。然而,你可以通过将WebViewWebPage关联来完全自定义导航行为。这是一个@Observable类,暴露了网页内容属性,并允许跟踪它们的变化。例如,你可以通过观察currentNavigationEvent来跟踪页面何时完全加载。

 

为了使富文本编辑易于实现,iOS 26 中的 SwiftUI 扩展了TextEditor视图,支持AttributedString。正如苹果在WWDC上展示的那样,启用富文本编辑就像在初始化TextEditor时更改绑定状态的类型一样简单:


struct RichEditorView: View {    @State private var text = AttributedString()

var body: some View { TextEditor(text: $text) }}
复制代码


苹果提供了一个代码示例,开发者可以使用它来探索全部的功能范围,包括添加自定义控件和限制编辑器中可用的格式选项。


新的宏@Animatable简化了视图、视图修饰符、文本渲染器、形状以及其他结构体或类的动画功能。它通过类型中声明的可动画属性实现animatableData属性,自动合成以遵循Animatable协议。例如,你可以像下面这样使用它来实现widthangle属性的动画,同时排除不可动画的属性,如isOpaque


@Animatablestruct CoolShape: Shape {    var width: CGFloat    var angle: Angle    @AnimatableIgnored var isOpaque: Bool

// ...}
复制代码


另外,还有几项新增功能能够使使用 UIKit 和 SwiftUI 的开发者从中受益。值得注意的是,新的UIHostingSceneDelegate类使得将 SwiftUI 场景桥接到 UIKit 成为可能,就像UIHostingController允许管理 SwiftUI 视图一样。这将集成能力扩展到完整的场景中,而不仅仅是单个视图。


最后但同样重要的是,SwiftUI 完全支持新的 Liquid Glass 设计语言。Liquid Glass是一种动态材料,结合了玻璃的光学特性和流动性。它会从下方折射内容,从周围反射光线,并在其边缘产生透镜效果,为界面带来深度和动感。

 

要利用这一点,应用不需要重新设计,只需使用 Xcode 26 重新构建以利用新设计即可。然而,为了完全拥抱 Liquid Glass,苹果建议审查前景元素如何与动态背景形成对比,并选择使用新的系统材料以确保可访问性和视觉和谐。

 

另外,iOS 26 还包括了Swift Charts的增强版本,现在已支持3D图形。这次更新允许开发者在三维空间中绘制数据,可视化数学曲面,并创建更具沉浸感和信息量的视觉化效果。Swift Charts 现在能够让开发者可以配置相机,调整光线和材料,并微调渲染属性。

 

SwiftUI 26 包含的内容远不止我们这里所能涵盖的,所以请查看官方的WWDC会议以获取全部细节。


查看英文原文:SwiftUI for iOS 26 Embraces LiquidGlass, Introduces WebView and Rich Text Editing

2025-06-30 17:001

评论

发布
暂无评论

linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep

javaNice

Linux

教育行业如何用技术推动用户增长

Onegun

小程序 在线教育 在线学习

编程需要天分吗?

代码生成器研究

编程到底难在哪里?

代码生成器研究

低代码开发前景如何,大家都真的看好低代码开发么?

代码生成器研究

渗透率不到5%,低代码怎么就不受企业待见

代码生成器研究

TuGraph Analytics云原生部署:基于K8S Operator的轻量级作业启动方案

TuGraphAnalytics

云原生 图数据库 图计算 K8s Operator

比亚迪面试,全程八股!

王磊

Java 面试

探索低代码之路

互联网工科生

软件开发 低代码 JNPF

视频素材传输慢?大文件传输软件一步到位

镭速

大文件传输 大文件传输软件

程序员,你会尝试一门新的编程语言吗?

代码生成器研究

一篇学会cron表达式

不在线第一只蜗牛

表达式 cron

如何获取淘宝/天猫添加到购物车 API 接口

技术冰糖葫芦

API】

2D智能化标注,MatrixGo平台的宝藏功能

澳鹏Appen

数据标注 交互式标注 2D标注

如何整合淘宝/天猫购物车 API?

技术冰糖葫芦

API 文档

在线协作新选择!5款风靡全球的白板软件盘点。

彭宏豪95

职场 科技 在线白板 在线协作 效率软件

低代码技术之争:表单驱动和模型驱动,谁更能代表未来的方向?

代码生成器研究

一切为了应用!九章云极DataCanvas大模型系列成果重磅发布!

九章云极DataCanvas

linux常用命令

javaNice

Linux

srm供应商、在线采购及询比价管理系统(源码)

金陵老街

华为全屋智能5.0,无为而“智”

脑极体

AI

8个程序员常用的开发工具,各位老铁请收好!

伤感汤姆布利柏

低代码 开发工具

滴滴、阿里云、语雀相继宕机,损失巨大,软件的高可用失效了么?

极狐GitLab

阿里云 高可用 滴滴 geo

程序员的护城河是什么 ?

代码生成器研究

iOS 26的SwiftUI拥抱LiquidGlass,并引入WebView和富文本编辑_软件工程_Sergio De Simone_InfoQ精选文章