草庐IT

[SwiftUI 开发] Widget 小组件

小组件简述小组件可以在主屏幕上实现内容展示和功能跳转。系统会向小组件获取时间线,根据当前时间对时间线上的数据进行展示。点击正在展示的视觉元素可以跳转到APP内,实现对应的功能。小组件是一个独立于App环境(即AppExtension),小组件的生命周期/存储空间/运行进程都和App不同。 ​​​​​​​AppExtensionAppExtension可以将自定义功能和内容扩展到应用程序之外,并在用户与其他应用程序或系统交互时向用户提供。例如,您的应用可以在主屏幕上显示为小部件。也就是说小组件是一种AppExtension,小组件的开发工作,基本都在AppExtension的环境中。App和Ap

[SwiftUI 开发] Widget 小组件

小组件简述小组件可以在主屏幕上实现内容展示和功能跳转。系统会向小组件获取时间线,根据当前时间对时间线上的数据进行展示。点击正在展示的视觉元素可以跳转到APP内,实现对应的功能。小组件是一个独立于App环境(即AppExtension),小组件的生命周期/存储空间/运行进程都和App不同。 ​​​​​​​AppExtensionAppExtension可以将自定义功能和内容扩展到应用程序之外,并在用户与其他应用程序或系统交互时向用户提供。例如,您的应用可以在主屏幕上显示为小部件。也就是说小组件是一种AppExtension,小组件的开发工作,基本都在AppExtension的环境中。App和Ap

用 SwiftUI 5天组装一个微信

GitHub链接:SwiftUI-WeChatDemo第一章:剖析:如何用SwiftUI5天组装一个微信——聊天界面篇第二章:剖析:如何用SwiftUI5天组装一个微信——通讯录发现我篇效果图实装内容4个Tab页面+聊天界面,使用纯SwiftUI搭建而成应用启动界面LaunchScreen国际化及应用内语言切换功能Combine使用场景(聊天界面简易对话功能)极度简化的MVVM架构逻辑部分纯Swift5书写,几乎不涉及OC类及UIKit库不使用第三方框架(除了SwiftGen提供便利)难点在聊天界面中隐藏Tabbar(未能实现)聊天界面中信息滚动功能,尤其动画滑动效果难以实现保持键盘焦点,不自

用 SwiftUI 5天组装一个微信

GitHub链接:SwiftUI-WeChatDemo第一章:剖析:如何用SwiftUI5天组装一个微信——聊天界面篇第二章:剖析:如何用SwiftUI5天组装一个微信——通讯录发现我篇效果图实装内容4个Tab页面+聊天界面,使用纯SwiftUI搭建而成应用启动界面LaunchScreen国际化及应用内语言切换功能Combine使用场景(聊天界面简易对话功能)极度简化的MVVM架构逻辑部分纯Swift5书写,几乎不涉及OC类及UIKit库不使用第三方框架(除了SwiftGen提供便利)难点在聊天界面中隐藏Tabbar(未能实现)聊天界面中信息滚动功能,尤其动画滑动效果难以实现保持键盘焦点,不自

SwiftUI 简明教程之自适应布局

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。SwiftUI为我们提供了两个环境变量.horizontalSizeClass和.verticalSizeClass,分别对应水平和竖直方向上的SizeClass,我们可以根据环境变量作出不同的布局。关于SizeClass,可

SwiftUI 简明教程之自定义对齐方式

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。重写alignmentGuideSwiftUI为我们提供了多种默认的对齐方式,如.top,.bottom,.center等。如下是将苹果的logo和文字“Apple”对齐的代码:HStack(alignment:.bottom

SwiftUI 简明教程之布局优先级与视图理想尺寸

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。layoutPrioritylayoutPriority可以使我们手动控制视图的布局优先级。我们看看如下代码:HStack{Text("Hello")Text("World")Text("StayHungry,StayFool

SwiftUI 简明教程之OutlineGroup、DiclosureGroupView

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。OutlineGroupOutlineGroup与前面章节提到的可展开列表类似,只是它的使用范围更广,我们不一定要在List中才能实现可展开功能。在任何一个View中,我们都可以用OutlineGroup实现可展开功能。同样以

SwiftUI 简明教程之容器

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。FormForm用于快速构建表单视图,比如app中常用的设置页面。Form和List非常相似,只是List有多种样式可以选择,而Form样式单一。Group在官方文档中关于ViewBuilder的描述中,我们可以清晰地看到,构

SwiftUI 简明教程之自适应布局

本文为Eul样章,如果您喜欢,请移步AppStore/Eul查看更多内容。Eul是一款SwiftUI&Combine教程App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode12+、iOS14+,macOS11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述SwiftUI&Combine相关的知识,使读者能快速掌握并在iOS开发中实践。SwiftUI为我们提供了两个环境变量.horizontalSizeClass和.verticalSizeClass,分别对应水平和竖直方向上的SizeClass,我们可以根据环境变量作出不同的布局。关于SizeClass,可