SwiftUI
学习SwiftUI的过程中总结学习过程和分享学习心得,里面的知识点都是Apple官方指南涉及的(只是换了案例来实现),所以如果有疑惑可以去官网下载demo参考对比。
>>> Eugene >>>
OC / Swift / Java
展开
-
SwiftUI 初体验 9 Timer的使用
在前文的基础上,还缺少timer的逻辑,在SwiftUI中可以通过接收publisher发出的事件。我们使用timer作为publisher,向视图发出事件,视图收到事件就可以做出响应添加一个publisher的class类型class TimePublisher { let currentTimePublisher = Timer.TimerPublisher(interval: 1...原创 2019-10-26 11:49:06 · 1029 阅读 · 5 评论 -
SwiftUI 初体验 8 轮播图的实现
首先创建一个单独的动物Banner的卡片struct AnimalCard: View { var species: Species var body: some View { species.image() .resizable() .frame(height: 300) .aspectRati...原创 2019-10-16 18:14:21 · 1827 阅读 · 7 评论 -
SwiftUI 初体验 7 编辑模式
参考:https://developer.apple.com/tutorials/swiftui/working-with-ui-controls效果:点击右上角的用户按钮打开个人档案档案显示个人信息点击edit进入编辑状态,会出现cancel按钮,点击cancel返回个人档案,点击done提交编辑。下面看看怎么实现:在sceneDelegate中指定environmentOb...原创 2019-10-14 16:39:20 · 399 阅读 · 0 评论 -
SwiftUI 初体验 1 基础功能的使用
SwiftUI的使用需要更新Xcode11,而SwiftUI的预览功能需要安装一系列的component,这些component需要在macOS catalina才能正常使用。那么catalina正式发布之前,我们必须加入测试计划才能提早获得macOS的新版本。在搜索引擎找macOSPublicBetaAccessUtility,你会知道怎么下载最新版的系统版本。更新完工具后,创建勾选了Sw...原创 2019-09-28 14:54:47 · 484 阅读 · 0 评论 -
SwiftUI 初体验 2 列表使用 / 设备预览设置
首先要创建List里面嵌套的RowView,创建SwiftUI类命名为RowView。struct RowView: View { var species: String var description: String var body: some View { HStack { Image(species) ...原创 2019-09-28 18:47:33 · 1354 阅读 · 1 评论 -
SwiftUI 初体验 3 用户交互 / 数据&视图绑定
基于上一篇,简单处理一下在SwiftUI的用户交互事件。修改List页面,增加收藏标记的属性,增加@State标注,这个标注Xcode的文档注释这样描述:A linked View property that instantiates a persistent statevalue of type Value, allowing the view to read and update it...原创 2019-09-29 16:26:16 · 1764 阅读 · 0 评论 -
SwiftUI 初体验 4 绘图
绘图这块直接按照官网的demo来做了,最终效果就是上图,先准备六边形的结构数据。struct HexagonParameters { struct Segment { let useWidth: (CGFloat, CGFloat, CGFloat) let xFactors: (CGFloat, CGFloat, CGFloat) le...原创 2019-09-30 17:20:32 · 708 阅读 · 0 评论 -
SwiftUI 初体验 5 动画 / 转场
首先来一个简单的按钮交互效果:点击按钮,按钮旋转放大,再次点击,回复原状。struct AnimationView: View { @State private var animate = false var body: some View { VStack { HStack { Spac...原创 2019-10-03 10:04:07 · 1364 阅读 · 0 评论 -
SwiftUI 初体验 6 实现复杂界面
提示:如果List中嵌套ScrollView,而ScrollView包含NavigationLink,那么NavigationLink是不会导航成功的,有这类需求时,需要用其他方法。首先看目标效果是实现一个列表,嵌套可以横向滑动的Row,头部是Banner(暂时占位,后面的章节实现)定义最小的单位Item: renderingMode设置original是显示图像本身,resizable必须...原创 2019-10-03 13:59:59 · 883 阅读 · 0 评论