SwiftUI 快速上手推荐

前言

最近在回顾Flutter技术时,与老同事聊起SwiftUI,我们了解到SwiftUI和Flutter UI技术都是声明式语法,因此近两天写了一些Demo进行简单尝试

一、SwiftUI快速上手

为了快速上手,我找了一些对SwiftUI有所研究的博主,跟着对方的博客笔记敲击了十来个Demo: 在多次尝试之后,我发现,通过SwiftUI写UI,的确会一定程度上减少代码量。

二、博文推荐

SwiftUI快速上手推荐:

三、SwiftUI与UIKit的异同:

    1. 声明式 vs 命令式:SwiftUI 是声明式的,你只需要描述界面应该是什么样子,而 SwiftUI 会处理实际的渲染过程。而 UIKit 是命令式的,你需要告诉 UIKit 如何一步步地创建和更新界面。
    1. 跨平台:SwiftUI 可以在所有 Apple 平台(包括 iOS、macOS、watchOS 和 tvOS)上使用,而 UIKit 只能用于 iOS 和 tvOS。
    1. 组件:SwiftUI 提供了一些 UIKit 中没有的组件,如 Grid 和 Form。同时,SwiftUI 的组件在所有 Apple 平台上都有一致的外观和行为。
    1. 数据流:SwiftUI 引入了一些新的数据流概念,如 @State、@Binding、@ObservedObject 和 @EnvironmentObject,它们使得数据状态管理更加直观和一致。而在 UIKit 中,你通常需要手动管理数据状态和更新界面。
    1. 兼容性:SwiftUI 需要 iOS 13 或更高版本,而 UIKit 可以在更早的 iOS 版本上使用。
    1. 成熟度:UIKit 已经存在了很长时间,有大量的文档、教程和社区支持。而 SwiftUI 是在 2019 年才推出的,虽然它正在快速发展,但还没有 UIKit 那么成熟。

总的来说,SwiftUI 提供了一种更现代、更简洁的方式来构建界面,但如果你需要支持旧的 iOS 版本,或者需要使用 UIKit 提供的一些高级功能,那么 UIKit 仍然是一个很好的选择。

四、SwiftUI布局

写了几个Demo后,我们可以了解到,其实要用SwiftUI斜截面,掌握SwiftUI的布局方法很重要

在 SwiftUI 中,布局主要由容器视图(如 HStack、VStack 和 ZStack)和修饰符(如 padding、frame 和 offset)来控制。

以下是一些常用的容器视图:

  • HStack:在水平方向上排列其子视图。

  • VStack:在垂直方向上排列其子视图。

  • ZStack:在深度方向上堆叠其子视图。

以下是一些常用的修饰符: - padding:给视图添加内边距。

  • frame:设置视图的尺寸和对齐方式。

  • offset:移动视图的位置。

在HStack、VStack、ZStack中还可以用spacing来约束,容器内部子视图的间距

相关推荐
QWQ___qwq30 分钟前
SwiftUI 的状态管理包装器(Property Wrapper)
ios·swiftui·swift
游戏开发爱好者83 小时前
苹果iOS26系统升级:液态玻璃与智能功能全解析
macos·ios·小程序·uni-app·objective-c·cocoa·iphone
心随雨下5 小时前
Flutter中新手需要掌握的几种Widget
android·flutter·ios
2501_9159184110 小时前
iOS 26 App 性能测试|性能评测|iOS 26 性能对比:实战策略
android·macos·ios·小程序·uni-app·cocoa·iphone
namehu19 小时前
React Native 应用性能分析与优化不完全指南
android·react native·ios
游戏开发爱好者81 天前
BShare HTTPS 集成与排查实战,从 SDK 接入到 iOS 真机调试(bshare https、签名、回调、抓包)
android·ios·小程序·https·uni-app·iphone·webview
2501_916008891 天前
iOS 26 系统流畅度实战指南|流畅体验检测|滑动顺畅对比
android·macos·ios·小程序·uni-app·cocoa·iphone
Digitally1 天前
如何处理旧 iPhone:安全地回收或重新利用
安全·ios·iphone
岁月向前1 天前
iOS蓝牙常见问题
ios