大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:005790

评论

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