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来约束,容器内部子视图的间距

相关推荐
szp20055 分钟前
中文字幕烧进视频后整片空白:CoreText 低报行高,导出照样成功
ios·swift
二流小码农10 分钟前
HarmonyOS开发助手,0代码让元服务从开发到上架
android·ios·harmonyos
zhongben123_4 小时前
从0到1开发一款生鲜配送APP:核心技术难点与架构避坑指南
大数据·运维·人工智能·ios·架构·web app
zhongben_keji6 小时前
批发商城APP怎么做:价格引擎、授信台账与资金合规的设计要点
ios·小程序·web app
茶底世界之下7 小时前
夜景加胶片颗粒,先看天空:Awaking 两版真实导出
ios
2501_915106329 小时前
iOS 单元测试怎么跑?用 KXApp 在 VS Code 里跑 XCTest 和 Swift Testing
ide·vscode·ios·单元测试·个人开发·swift·敏捷流程
2501_915921439 小时前
iOS 实时日志怎么看?KeyMob 的日志过滤、崩溃报告与符号化
android·ios·小程序·https·uni-app·iphone·webview
天蒙蒙亮9 小时前
打ios app包+“应用商城”发布
ios
VicLi1 天前
把常用 iOS 调试操作放进一个 macOS 控制台: iCATBox
ios
茶底世界之下1 天前
雾景需要更强反差吗?用 Awaking 检查树影与雾气的平衡
ios