首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Swift花园
猫克杯
创建于2021-06-18
订阅专栏
分享 Swift 和 SwiftUI 相关的一些知识和心得
等 99 人订阅
共116篇文章
创建于2021-06-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Swift 5.7 新特性(下)
本文接Swift 5.7新特性(上)。Swift 5.7 变化巨大,在本文中,我会通过一些示例来介绍这些新特性。
Swift 5.7新特性 (上)
Swift 5.7 变化巨大,新特性中包括正则表达式, if let 速记语法,以及围绕 any 和 some 关键字的一致性改动。 在本文中,我会通过一些示例来介绍这些新特性。
漫步SwiftUI数字长廊(中)
本文接 《漫步SwiftUI数字长廊(上)》继续原文翻译。 “今年的 WWDC 有一大亮点是 Digital Lounge 的引入。遗憾的是,好东西往往短暂,须臾之间就已落幕。”
SwiftUI 动画进阶-part4 TimelineView
在这篇文章中,我们将深入探索 TimelineView。我会以最常见的用法、较低的难度开始。不过,我认为这其中最大的可能性在于把 `TimelineView` 和现有动画结合起来应用。
Swift 5.5 新特性(下)
相比于 Xcode 和 SwiftUI 的新特性和改进,Swift 语言本身在 5.5 版本迎来的变化可谓巨大了。
Swift 5.5新特性(上)
相比于 Xcode 和 SwiftUI 的新特性和改进,Swift 语言本身在 5.5 版本迎来的变化可谓巨大了。
Xcode 13 新特性和改进
Xcode 13 beta版本已经发布,这个版本相对于 Xcode 12,升级的变化不大,主要是引入了Xcode Cloud功能。另外,在源代码编辑、版本控制基础、代码文档方面也有不少改进。
用Instruments剖析SwiftUI代码和定位性能问题
Xcode 的 Instruments 工具自带了一组很棒的 SwiftUI 分析功能,使得我们能够检测视图重绘的频率,哪些视图的 body 计算过程较慢,以及我们的状态如何跟随时间变化。 首先我们需要来点可以帮助我们在 Instruments 里观察数据的东西。下面的代码创建…
八个常见的SwiftUI误用及对应的正确打开方式
SwiftUI 是一个庞大且复杂的框架。使用这个框架编程无疑是享受的,但犯错的机会也不少见。这篇文章我将带大家速览 SwiftUI 初学者常犯的一些错误,并提供修正方案。 其中的一些错误是由于简单的误解导致。由于 SwiftUI 太大,这种情况其实容易出现。而另一些错误则与深入…
在 SwiftUI 中使用 NSUserActivity
NSUserActivity 令人费解的另一个原因是它是一个可以用来处理多个不相干功能的东西。它的各项属性只在某些情况下相关,多数情况下却是没有关联的。 Universal Links: Universal links 是可以在关联应用或者 Safari 中打开的 URL。 S…
[SwiftUI 100 天] allowsHitTesting()
SwiftUI 可以让我们通过设置 allowsHitTesting() 为 false 来禁用交互,在项目中我们可以用它来在倒计时消耗完时禁用卡片的轻扫操作。 只有在 timeRemaining 大于等于 1 时才可以接收拖拽手势。 如果你实际尝试过这个游戏,你可能会发现,当…
[SwiftUI 100 天] 用 Timer 倒计时
如果我们结合 Foundation,SwiftUI 和 Combine 框架,可以添加一个定时器到应用中,给用户一点压力。最简单的实现几乎不费力就能做到,但是有一个 bug 需要解决。 首先我们要创建两个新属性:定时器本身,它每秒发射一次,以及一个 timeRemaining …
[SwiftUI 100 天] 轻扫时给视图着色
用户可以通过向左或者向右滑出卡片来标记这次回答是正确还是错误,但是两个方向现在没有视觉上的区分。借用 约会应用 Tinder 的做法,我们可以让右滑表示好(回答正确),左滑表示不好(回答错误)。 我们会以两种方式解决这个问题:对于采用默认设置的手机,我们会给卡片上绿色或者红色,…
[SwiftUI 100 天] 用 DragGesture 和 offset() 来移动视图
SwiftUI 允许我们添加手势给任意视图,然后利用手势产生的数值来操作视图。为了说明这一点,我们要添加一个 DragGesture 给 CardView,以便我们能移动卡片。我们还要使用手势产生的数值来控制视图的透明度和旋转角度 —— 当卡片被拖动后,它会旋转出画面, 同时渐…
[SwiftUI 100 天] 构建卡片栈
我们已经设计了单张卡片的数据模型及关联视图,下一步是把多张卡片堆叠在一起,以表示所有用户想要学习的内容。这个卡片堆会随着用户移除卡片而改变,所以我们需要将它标记为 @State。 目前为止我们还没有设计添加卡片的入口,所以先用 10 张示例卡片来生成卡片堆。Swift 的数组有…
[SwiftUI 100 天] Flashzilla - 设计卡片视图
在这个项目中,我们希望给用户呈现包含提示信息的闪视卡片,比如 “瑞典的首都是什么城市?”。当用户点击卡片时,揭示答案, 显示 “斯德哥尔摩”。 对多数项目来说,我们会先从数据模型开始。简单起见,我们只提供提示字符串和答案字符串,并且创建示例卡片的静态属性,以方便预览和开发原型。…
[SwiftUI 100 天] 在 SwiftUI 中支持特定的辅助功能需求
SwiftUI 提供了大量环境变量,描述了用户的自定义辅助设置,因此花点时间阅读和理解这些设置是值得的。 在项目 15 中,我们涉猎了标签、提示,控件特征,分组等辅助功能。但这里要介绍的辅助设置不一样,因为它们是通过环境提供的。这意味着 SwiftUI 会自动监控它们的变化,并…
[SwiftUI 100 天] 应用处于后台时如何获得通知
SwiftUI 可以检测到你的应用进入后台的时刻(比如,用户回到主屏),应用回到前台的时刻,用户截屏的时刻,等等。这些都是由 Notification Center 驱动的,它是 Apple 的内部消息系统 —— 一组让系统在事件发生时通知我们的 API,同时也允许我们在代码的…
[SwiftUI 100 天] 用定时器重复触发事件
iOS 内建了 Timer 类,可以让我们基于规律的时间点运行代码,其中用到了一个来自 Apple 的 Combine 框架的 publisher 系统。在这个 100 天系列中,我们实际上在许多个应用中都使用了 Combine 框架里部分功能,只不过你可能没有注意到。例如,@…
下一页