SwiftUI 教程

SwiftUI - 主页 SwiftUI - 概览 SwiftUI 与 UIkit

SwiftUI 环境

SwiftUI - 环境设置 SwiftUI - 基本组件 SwiftUI - 构建第一个应用程序

SwiftUI 视图

SwiftUI - 视图 SwiftUI - 自定义文本视图 SwiftUI - 自定义图像视图 SwiftUI - 堆栈

SwiftUI 绘制形状

SwiftUI - 形状 SwiftUI - 绘制线条 SwiftUI - 绘制矩形 SwiftUI - 绘制圆角矩形 SwiftUI - 绘制三角形 SwiftUI - 绘制圆形 SwiftUI - 绘制星形 SwiftUI - 绘制多边形 SwiftUI - 绘制饼图 SwiftUI - 使用内置形状

SwiftUI - 文本

SwiftUI - 文本视图 SwiftUI - 文本输入和输出

SwiftUI - 颜色

SwiftUI - 颜色 SwiftUI - 颜色选择器 SwiftUI - 渐变 SwiftUI - 调整颜色

SwiftUI - 效果

SwiftUI - 效果 SwiftUI - 混合效果 SwiftUI - BLur 效果 SwiftUI - 阴影效果 SwiftUI - 悬停效果

SwiftUI - 动画

SwiftUI - 动画 SwiftUI - 创建动画 SwiftUI - 创建显式动画 SwiftUI - 多个动画 SwiftUI - 过渡 SwiftUI - 不对称过渡 SwiftUI - 自定义过渡

SwiftUI - 图像

SwiftUI - 图像 SwiftUI - 图像作为背景 SwiftUI - 旋转图像 SwiftUI - 媒体

SwiftUI - 视图布局

SwiftUI - 视图布局 SwiftUI - 视图大小 SwiftUI - 视图间距 SwiftUI - 视图填充

SwiftUI - UI 控件

SwiftUI - UI 控件 SwiftUI - 按钮 SwiftUI - 复选框 SwiftUI - 菜单栏 SwiftUI - 工具栏 SwiftUI - 搜索栏 SwiftUI - 文本字段 SwiftUI - 滑块 SwiftUI - 切换 SwiftUI - 选择器 SwiftUI - 菜单

SwiftUI - 列表 &表格

SwiftUI - 列表 SwiftUI - 静态列表 SwiftUI - 动态列表 SwiftUI - 自定义列表 SwiftUI - 表格

SwiftUI - 表单

SwiftUI - 表单 SwiftUI - 在部分中拆分表单

SwiftUI - 事件处理

SwiftUI - 事件处理 SwiftUI - 手势 SwiftUI - 剪贴板 SwiftUI - 拖放 SwiftUI - 焦点 SwiftUI - 警报

SwiftUI - 杂项

SwiftUI - 容器 SwiftUI - 导航 SwiftUI - 通知 SwiftUI - 跨平台 UI SwiftUI - 数据 SwiftUI - 可访问性

SwiftUI - 框架集成

SwiftUI - 框架集成 SwiftUI - 与 UIKit 交互 SwiftUI - 创建 macOS 应用

SwiftUI 有用资源

SwiftUI - 有用资源 SwiftUI - 讨论


SwiftUI 与 UIKit

什么是 SwiftUI?

SwiftUI 是 Apple 开发的一个框架,用于为其所有平台(例如 iOS、macOS、WatchOS、tvOS 和 visionOS)构建应用程序或用户界面。它于 2019 年首次面世。此后,它以其声明式方法彻底改变了用户界面开发。

它允许开发人员直接在 Swift 代码中描述 UI 和 UI 的行为。它简化了复杂的创建,支持代码重用,并在 Xcode 中提供实时预览。它还允许开发人员高效地创建高质量的用户体验。

什么是 UIKit?

UIKit 也是 Apple 开发的一个框架,用于为 iOS 和 iPadOS 应用程序构建用户界面。它是开发 iPhone 和 iPad 应用程序的主要框架。它提供了一套工具、类和协议来设计、管理和控制应用程序的 UI。

它还提供了一个丰富、成熟和稳定的环境来创建响应迅速且有吸引力的应用程序。它使用命令式语法,为开发人员提供了广泛的自定义选项,使他们能够创建高度定制和复杂的用户界面。

SwiftUI 和 UIKit 之间的区别

以下是 SwiftUI 和 UIKit 之间的主要区别 −

SwiftUI UIKit
它使用声明式编程进行 UI 开发。 它使用命令式编程进行 UI 开发。
它使用带有属性包装器的状态驱动视图来管理状态和数据流。 它借助属性和方法手动管理状态。
它被设计为跨平台的。 它主要关注 iOS。
每当底层数据发生变化时,它都会自动更新 UI。 它更新 UI 手册。
它提供了一种定义动画和过渡的简单方法。 它使用复杂的命令式 API 进行动画和过渡。
它使用树结构按层次顺序组合视图。您可以嵌套视图。 它以扁平层次结构组合视图,我们可以使用约束和视图层次结构来管理它们。
它最适合与 Xcode 配合使用。 Xcode 提供了 UI 的实时渲染,或者说 Xcode 提供了代码的实时预览。 它缺乏实时预览。开发人员需要在模拟器上运行他们的代码才能看到 UI 的预览。
由于其声明性,初学者很容易学习。 由于其命令性,学习起来有点困难。
由于其声明性,初学者很容易学习。 由于其命令性,学习起来有点困难。
这是一个新框架,因此与 UIKit 相比,它可能缺少一些高级功能并且第三方资源较少。 它更成熟,因此拥有庞大的第三方库生态系统。