- 博客(1613)
- 资源 (8)
- 收藏
- 关注
原创 SwiftUI 如何在运行时从底层动态获取任何 NSObject 对象实例
在本篇博文中,我们讨论了在 SwiftUI 中监控一般 NSObject 对象的原理,并深入底层,使用钩子(Hook)和 Swizz 机制来达到近乎随心所欲的超能力!小伙伴们还不赶紧操练起来哈!
2024-03-04 14:18:16 440 14
原创 SwiftUI 支持拖放功能的集合视图(Grid)如何捕获手指按下并抬起这一操作
在本篇博文中,我们讨论了 SwiftUI 如何在应用拖放(Drag&Drop)功能的同时,监听捕获到用户手指按下并抬起这一操作,该实现可以通过简单地扩展支持更多的应用场景。
2024-02-24 10:07:13 226 9
原创 UIKit 在 UICollectionView 拖动时动态更改 Cell 外观的原理和实现
在本篇博文中,我们讨论了如何发挥 UIKit 比 SwiftUI 更底层,更全面的优势去实现 UICollectionView 拖动时更改 Cell 外观的功能;我们还利用 iOS 16+ 新推出的机制将 SwiftUI 视图和 UIKit Cell 巧妙的融合在一起,充分发挥了它们各自的长处!
2024-02-23 14:25:08 143 1
原创 SwiftUI 集合视图(Grid)拖放交换 Cell 的极简实现
在本篇博文中,我们讨论了在 SwiftUI 中如何为集合视图(Grid)添加拖放交换其 Cell 的功能,小伙伴们可以从代码中真正体会到 SwiftUI 的简洁之美!
2024-02-22 20:49:12 1373 15
原创 UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现
在本篇博文中,我们讨论了 UIKit 中 UICollectionView 视图拖放操作的基本原理,并用最简单的代码实现了 UICollectionView 视图中 Cell 的交换功能。
2024-02-22 16:07:24 1396 5
原创 SwiftUI 更自然地向自定义视图传递参数的“另类”方式
在本篇博文中,我们讨论了 SwiftUI “传统”的视图接口定义在具有海量传入参数时的一些不便之处,并且用更加“低耦合”的“环保”方法改善了这一情况。相信现在小伙伴们对于 SwiftUI 中视图的构建会有更写意、更灵活的方式啦!
2024-02-20 17:02:57 1331 19
原创 Swift 5.9 新 @Observable 对象在 SwiftUI 使用中的陷阱与解决
在本篇博文中,我们讨论了在 SwiftUI 中融合 Swift 5.9 新 @Observable 对象的几种方式,并比较了它们细微差别下的潜在陷阱,最后提供了非常简单的解决之道。
2024-02-18 15:08:08 1694 17
原创 Swift 隐藏宝藏:“逆天改命”调整方法重载(function overloading)优先级
在本篇博文中,我们先是介绍了 Swift 语言中当方法的多个重载同时满足调用语义时编译器的选择之道,并且随后进一步讨论了如何“逆天改命”修改这一默认的选择法则。
2024-02-05 14:12:54 1078 13
原创 Swift 入门之自定义类型的模式匹配(Pattern Matching)
在本篇博文中,我们讨论了在 Swift 中如何优雅的适配模式匹配,并介绍了如何使用模式匹配操作符重载机制在 switch 语境中让开发“简约而简单”。
2024-02-03 11:01:57 1548 11
原创 SwiftUI 动画入门之二:几何特效动画(GeometryEffect)
在本篇博文中,我们接着前篇博文进一步讨论了如何利用 SwiftUI 几何特效动画(GeometryEffect),在任意路径上加上任意样式如影随形、丝般顺滑的“小尾巴”,小伙伴们值得拥有哦!
2024-02-01 21:38:56 290 5
原创 SwiftUI 动画入门之一:路径动画(Path Animations)
在本篇博文中,我们讨论了 SwiftUI 中如何利用路径动画(Path Animations)让原本“刻板”的折线图灵动的跃然于屏幕之上。在下篇博文中,我们将接着介绍 SwiftUI 中另一种自定义动画机制 GeometryEffect 的实现,不见不散!
2024-02-01 18:32:36 255 6
原创 SwiftUI 打造酷炫流光边框 + 微光滑动闪烁的 3D 透视滚动卡片墙
在本篇博文中,我们讨论了如何实现一款酷炫边框流光 + 背景微光滑闪的卡片3D 透视滚动效果。
2024-01-24 18:38:51 622 9
原创 SwiftUI 纯手工打造 100% 可定制的导航栏
在本篇博文中,我们讨论了如何借助秃头码农们天马行空的想象力,在 SwiftUI 中纯手工恣意创建任何奇妙样式的定制导航栏。
2024-01-22 10:03:12 228 9
原创 SwiftUI 为任意视图加上徽章(Badge)而想到的(下)
在本篇博文中,我们讨论了 SwiftUI 中另一种获取视图尺寸的便捷方法,并将它和 ZStack 融合在一起,共同打造了徽章的新实现!并且新的实现还经受住了从右至左语言排版和动态字体的“严峻”考验,棒棒哒!
2024-01-12 20:33:15 403 6
原创 SwiftUI 为任意视图加上徽章(Badge)而想到的(上)
在本篇博文中,我们讨论了使用动态获取和修改视图尺寸的技术为 SwiftUI 中任意视图打造“弹性”大小的徽章,这样不论徽章中的数字如何变化都可以万无一失,棒棒哒!
2024-01-12 18:13:27 244 11
原创 SwiftUI 打造一款收缩自如的 HStack(四):Layout 自定义布局
在本篇博文中,我们讨论了在 SwiftUI 中打造一款收缩自如“HStack”的最终实现。我们使用自定义 Layout 布局“恰如其分”的实现了 CollapsedLayout 布局容器从而圆满的完成了任务,棒棒哒!
2024-01-08 15:15:43 1145 12
原创 SwiftUI 打造一款收缩自如的 HStack(三):“魔镜魔镜,我爱你”
在本篇博文中,我们讨论了如何使用“魔镜”般的黑魔法神奇的摆脱可收缩“HStack“实现中多余的“赘肉”,最后我们不禁哼出“解放区的天是明朗的天,解放区的秃头码农好喜欢”的曲调,棒棒哒!
2024-01-05 13:14:11 965 8
原创 SwiftUI 打造一款收缩自如的 HStack(二):对齐+ZStack
在本篇博文中,我们在 SwiftUI 中用对齐机制和 ZStack 共同打造了一款可收缩的“HStack”。不同于之前“纯” HStack 的实现,用对齐可以全面把控容器内子视图的偏移做到随心所欲,小伙伴们值得拥有!
2024-01-04 21:47:39 1324 3
原创 SwiftUI 打造一款收缩自如的 HStack(一):“原汤化原食”
在本篇博文中,我们讨论了如何用 HStack 自身来打造一款可收缩的“HStack”,虽然读起来像一段绕口令但所幸我们最后成功的得偿所愿了。相信看完本篇后小伙伴们都会受益匪浅。
2024-01-04 16:43:01 1053 7
原创 『番外篇十』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(下)
在本篇博文中,我们继续完善和消除了之前 PhotoGeter 应用的少许瑕疵。现在我们的 App 逻辑上更加简洁,对错误的处理也更加应对自如,完全做好了“荒野求生”的基本准备,棒棒哒!
2024-01-01 21:38:19 1049 3
原创 『番外篇九』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(上)
在本篇博文中,我们讨论了如何初步打造一款“五脏俱全”的网络图片显示 App。我们创建了数据模型,并将界面“化整为零”分割成各个独立的组件,最后我们将它们通通整合到一起:一款小巧的网络图片查看器就此应运而生啦。
2024-01-01 21:17:52 1043
原创 『番外篇八』SwiftUI 脑洞大开实现“另类”视图跟随方法
在本篇博文中,我们讨论了在 SwiftUI 中如何脑洞大开“另类”实现视图跟随的方法。相信看完本篇,大家会对 SwiftUI 视图的布局有着更深刻的领悟。
2023-12-31 12:00:19 1077 7
原创 『番外篇七』SwiftUI 获取视图全局位置在 NavigationStack 中失效的解决方法
在本篇博文中,我们讨论了在 SwiftUI 中为什么不能在 NavigationStack 中直接取得指定视图的全局位置信息,以及用哪些方法可以“优雅”的绕开这一问题从而得偿所愿。
2023-12-30 20:24:37 1247 6
原创 『番外篇六』SwiftUI 取得任意视图全局位置的三种方法
在本篇博文中,我们讨论了在 SwiftUI 中如何通过三种不同方法来获取任意视图的全局位置,任君选择。
2023-12-30 15:49:50 1225 7
原创 SwiftUI 趣谈之:绝不可能(Never)的 View!
在本篇博文中,我们先是讨论了 Swift 语言中 Never 类型的起源,以及 Never 在 SwiftUI 中的“真正使命”,最后我们尝试了创建自己的 Never 视图。
2023-12-23 12:08:58 1066 12
原创 『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值
在本篇博文中,我们讨论了在 SwiftUI 中如何动态探查指定视图属性的值(比如 tag 或 id),并且深入扩展讲解了各种“变数”。最后,我们用基于此项技术的实例结束了整篇文章,相信大家都会受益良多。
2023-12-22 19:53:39 1347 7
原创 『番外篇四』Swift “乱弹”之如何绕过新并发模型中“伪” mutable ‘inout‘ parameter ‘self‘ in concurrently-executing 问题
在本篇博文中,我们介绍了在 Swift 5.5 新并发模型撸码中遇到的 "mutable capture of 'inout' parameter 'self' is not allowed in concurrently-executing code" 错误,并讨论了在某些情况下如何绕过它所带来的限制。
2023-12-16 13:02:27 169 12
原创 『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)
在本篇博文中,我们讨论了在 Swift 中究竟怎么为普通集合以及异步序列元素的遍历加上索引,相信看完本篇的小伙伴们都会受益匪浅。
2023-12-15 21:00:42 218 5
原创 『番外篇二』Swift “黑魔法”之动态获取类实例隐藏属性的值
在本篇博文中,我们讨论了如何使用 Swift “黑魔法”获取类实例隐藏属性的值,并通过 UserDefaults 和 Thread 两个实际的例子来演示“黑魔法”具体的施展诀窍。
2023-12-11 21:04:29 567 17
原创 SwiftUI 中创建一个自定义文件管理器只需4步!你敢信!?
在本篇博文中,我们讨论了如何在 SwiftUI 中仅需 4 步就完成一个“麻雀虽小却五脏俱全”的自定义文件管理器,相信学完本课小伙伴们都会受益良多。
2023-12-07 20:29:25 520 17
原创 『番外篇一』SwiftUI 中如何让用户恣意的拖动视图
在本篇博文中,我们实现了让用户在 SwiftUI 中恣意的拖动视图。我们学习了 GestureState 手势状态的使用,并利用 SwiftUI 辅助调试技术来更好的“暴露”界面运行上的问题。
2023-12-07 10:22:38 279 9
原创 SwiftUI 如何动态开始和停止播放永久重复(repeatForever)动画
在本篇博文中,我们讨论了在 SwiftUI 中如何动态开始和停止播放永久重复(repeatForever)的动画,同时避免不必要的动画“叠加”效果。
2023-11-21 21:02:15 1080 24
原创 Swift 如何打造兼容新老系统的字符串分割(split)方法
在本篇博文中,我们讨论了在 iOS 16 之前和之后如何实现字符串分割字符串的功能,并用把它应用到了实际的例子中。
2023-11-18 14:29:41 1202 1
原创 Swift 警惕“隐式异步(implicitly asynchronous)”方法的执行陷阱
在本篇博文中,我们讨论了被 @MainActor 修饰的“隐式”异步方法也有可能不在主线程上下文中执行这一隐藏的陷阱,并对其原因和解决办法做了详细的说明。
2023-11-14 21:06:47 384 9
原创 消失的它:摆脱 SwiftUI 中“嵌入视图数量不能超过 10 个”限制的秘密
在本篇博文中,我们讨论了 SwiftUI 中“嵌入视图数量不能超过 10 个”这一限制的原因,并介绍了从 Swift 5.9+ 开始这一限制为什么最终消失了?
2023-11-13 14:24:46 355 14
原创 SwiftUI 如何保证 Text 中字符数量相等的字符串显示宽度一定相同?
在本篇博文中,我们讨论了在 SwiftUI 中如何保证 Text 里字符数量相等的字符串显示宽度一定相同,并且字符串内部的换行也同样保持一致。
2023-11-11 15:22:16 1393 16
原创 Swift 抛砖引玉:从数组访问越界想到的“可抛出错误”属性
在本篇博文中,我们讨论了 Swift 5.5 中新增的“实效只读属性”(Effectful Read-only Properties),它有哪些用途?怎么用它来解决 Swift 数组访问越界的“老问题”?最后,我们用 ruby 代码举了一个更优雅的实现。
2023-11-10 16:45:28 791 10
原创 ruby、Python 以及 Swift 语言关于 “Finally” 实现的趣谈
在本篇博文中,我们讨论了 ruby、Python 和 Swift 语言中对 Finally 机制的不同实现,并用诸多代码片段来演示它们实际的使用,小伙伴们值得拥有!
2023-11-05 17:34:21 1700 22
原创 Swift 和 Python 两种语言中带关联信息错误(异常)类型的比较
在本篇博文中,我们讨论了在 Swift 和 Python 两种语言中对于带关联信息的错误(异常)类型是如何实现的这一话题,并对哪种实现更优雅给出笔者自己的感悟。
2023-11-05 15:00:29 708 1
原创 SwiftUI 代码调试之都是“变心”惹的祸
在本篇博文中,我们讨论了 SwiftUI 开发中一个非常常见的问题,并借助一步步溯本回原的推理找到症结根本之所在,最后一发入魂将其完美解决!相信小伙伴们都能由此受益匪浅。
2023-11-05 10:23:08 1216 5
SwiftUI 超酷炫动画示例大合集
2024-01-08
MacOS 和 iOS 内核 xnu 可编译源代码
2024-01-08
SwiftUI 示例 iFonts 应用完整项目源代码
2024-01-08
SwiftUI 各种界面、自定义视图、动画以及设计哲学示例合集
2024-01-08
SwiftUI 英雄动画(HeroAnimations)演示代码
2024-01-08
iOS 15.4 真机调试支持包(可支持最新的iOS 15.4.1系统)
2022-04-03
SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转的演示代码
2022-04-03
unlocker_new
2008-11-10
UnlockerEx
2008-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人