- 博客(1542)
- 资源 (8)
- 收藏
- 关注
原创 Swift 从获取所有 NSObject 对象聊起:ObjC、汇编语言以及底层方法调用链(四)
在本篇博文中,我们介绍了什么是方法调用链,并详细讨论了通过 Hack 技术动态更改调用链实现指令流“随心所欲”的基本思路。
2024-03-24 21:49:25 1263 5
原创 Swift 从获取所有 NSObject 对象聊起:ObjC、汇编语言以及底层方法调用链(三)
在本篇博文中,我们讨论了如何手动撸码实现 SwiftHook 类似的 NSObject.init 构造器钩子功能;我们还尝试摆脱了 Hook 闭包功能中编译器生成的 ARC “桎梏”代码。
2024-03-24 16:21:48 1040 1
原创 Swift 从获取所有 NSObject 对象聊起:ObjC、汇编语言以及底层方法调用链(二)
在本篇博文中,我们先是介绍了如何使用 SwiftHook 库来完成 SWIZZ 的钩子功能,随后讨论了为什么 print 方法打印对象信息时会导致运行崩溃,以及如何巧妙的解决它。
2024-03-21 14:37:41 1181 19
原创 Swift 从获取所有 NSObject 对象聊起:ObjC、汇编语言以及底层方法调用链(一)
在本篇博文中,我们讨论了为什么要在 App 运行时“捕获”所有 NSObject 对象的实例、介绍了 NSObject 默认构造器方法里都做了神马事情,以及初步探讨了实现这一目的的基本原理。
2024-03-20 22:20:26 1261 15
原创 Swift 结构化并发之全局 Actor 趣谈
在本篇博文中,我们介绍了 Swift 结构化并发模型中全局 Actor 这一有趣话题,我们随后讨论了它与一般 Actor 的不同之处,以及全局 Actor 的应用场景。
2024-03-20 16:44:54 873 11
原创 Swift 入门学习:集合(Collection)类型趣谈-下
在本篇博文中,我们接上篇继续介绍了 Swift 语言中集合类型 Set,并讨论了如何用 Range 类型来表示无穷多元素的集合;我们还介绍了苹果官方 Swift Collections 框架中更多的集合类型,超赞的哦。
2024-03-09 21:51:37 1333 13
原创 Swift 入门学习:集合(Collection)类型趣谈-上
在上篇的学习中,我们讨论了 Swift 中集合背后的 Collection 协议,并随后介绍了数组(Array)和字典(Dictionary)两种集合类型。
2024-03-09 21:39:42 1326 6
原创 SwiftUI 在 App 中弹出全局消息横幅(下)
在本篇博文中,我们先是利用共享状态作为新旧 Windows 间的沟通桥梁,接着派生出新的 UIWindow 类返回对全局视图交互事件负责的 UIView,最后我们利用 Preference 机制完美的获取到了全局消息横幅的位置和尺寸从而圆满了整个实现。
2024-03-04 22:06:52 213 9
原创 SwiftUI 在 App 中弹出全局消息横幅(上)
在本篇博文中,我们先是讨论了弹出传统消息横幅的不和谐之处,并随即介绍了什么是全局消息横幅,最后提出了实现全局消息横幅的“双生” Windows 机制。
2024-03-04 21:57:02 168
原创 SwiftUI 如何在运行时从底层动态获取任何 NSObject 对象实例
在本篇博文中,我们讨论了在 SwiftUI 中监控一般 NSObject 对象的原理,并深入底层,使用钩子(Hook)和 Swizz 机制来达到近乎随心所欲的超能力!小伙伴们还不赶紧操练起来哈!
2024-03-04 14:18:16 358 14
原创 SwiftUI 支持拖放功能的集合视图(Grid)如何捕获手指按下并抬起这一操作
在本篇博文中,我们讨论了 SwiftUI 如何在应用拖放(Drag&Drop)功能的同时,监听捕获到用户手指按下并抬起这一操作,该实现可以通过简单地扩展支持更多的应用场景。
2024-02-24 10:07:13 159 9
原创 UIKit 在 UICollectionView 拖动时动态更改 Cell 外观的原理和实现
在本篇博文中,我们讨论了如何发挥 UIKit 比 SwiftUI 更底层,更全面的优势去实现 UICollectionView 拖动时更改 Cell 外观的功能;我们还利用 iOS 16+ 新推出的机制将 SwiftUI 视图和 UIKit Cell 巧妙的融合在一起,充分发挥了它们各自的长处!
2024-02-23 14:25:08 65 1
原创 SwiftUI 集合视图(Grid)拖放交换 Cell 的极简实现
在本篇博文中,我们讨论了在 SwiftUI 中如何为集合视图(Grid)添加拖放交换其 Cell 的功能,小伙伴们可以从代码中真正体会到 SwiftUI 的简洁之美!
2024-02-22 20:49:12 1125 15
原创 UIKit 在 UICollectionView 中拖放交换 Cell 视图的极简实现
在本篇博文中,我们讨论了 UIKit 中 UICollectionView 视图拖放操作的基本原理,并用最简单的代码实现了 UICollectionView 视图中 Cell 的交换功能。
2024-02-22 16:07:24 1123 5
原创 SwiftUI 更自然地向自定义视图传递参数的“另类”方式
在本篇博文中,我们讨论了 SwiftUI “传统”的视图接口定义在具有海量传入参数时的一些不便之处,并且用更加“低耦合”的“环保”方法改善了这一情况。相信现在小伙伴们对于 SwiftUI 中视图的构建会有更写意、更灵活的方式啦!
2024-02-20 17:02:57 1225 19
原创 Swift 5.9 新 @Observable 对象在 SwiftUI 使用中的陷阱与解决
在本篇博文中,我们讨论了在 SwiftUI 中融合 Swift 5.9 新 @Observable 对象的几种方式,并比较了它们细微差别下的潜在陷阱,最后提供了非常简单的解决之道。
2024-02-18 15:08:08 1121 17
原创 Swift 隐藏宝藏:“逆天改命”调整方法重载(function overloading)优先级
在本篇博文中,我们先是介绍了 Swift 语言中当方法的多个重载同时满足调用语义时编译器的选择之道,并且随后进一步讨论了如何“逆天改命”修改这一默认的选择法则。
2024-02-05 14:12:54 984 13
原创 Swift 入门之自定义类型的模式匹配(Pattern Matching)
在本篇博文中,我们讨论了在 Swift 中如何优雅的适配模式匹配,并介绍了如何使用模式匹配操作符重载机制在 switch 语境中让开发“简约而简单”。
2024-02-03 11:01:57 1438 11
原创 SwiftUI 动画入门之二:几何特效动画(GeometryEffect)
在本篇博文中,我们接着前篇博文进一步讨论了如何利用 SwiftUI 几何特效动画(GeometryEffect),在任意路径上加上任意样式如影随形、丝般顺滑的“小尾巴”,小伙伴们值得拥有哦!
2024-02-01 21:38:56 234 5
原创 SwiftUI 动画入门之一:路径动画(Path Animations)
在本篇博文中,我们讨论了 SwiftUI 中如何利用路径动画(Path Animations)让原本“刻板”的折线图灵动的跃然于屏幕之上。在下篇博文中,我们将接着介绍 SwiftUI 中另一种自定义动画机制 GeometryEffect 的实现,不见不散!
2024-02-01 18:32:36 182 6
原创 SwiftUI 打造酷炫流光边框 + 微光滑动闪烁的 3D 透视滚动卡片墙
在本篇博文中,我们讨论了如何实现一款酷炫边框流光 + 背景微光滑闪的卡片3D 透视滚动效果。
2024-01-24 18:38:51 519 9
原创 SwiftUI 纯手工打造 100% 可定制的导航栏
在本篇博文中,我们讨论了如何借助秃头码农们天马行空的想象力,在 SwiftUI 中纯手工恣意创建任何奇妙样式的定制导航栏。
2024-01-22 10:03:12 177 9
原创 SwiftUI 为任意视图加上徽章(Badge)而想到的(下)
在本篇博文中,我们讨论了 SwiftUI 中另一种获取视图尺寸的便捷方法,并将它和 ZStack 融合在一起,共同打造了徽章的新实现!并且新的实现还经受住了从右至左语言排版和动态字体的“严峻”考验,棒棒哒!
2024-01-12 20:33:15 337 6
原创 SwiftUI 为任意视图加上徽章(Badge)而想到的(上)
在本篇博文中,我们讨论了使用动态获取和修改视图尺寸的技术为 SwiftUI 中任意视图打造“弹性”大小的徽章,这样不论徽章中的数字如何变化都可以万无一失,棒棒哒!
2024-01-12 18:13:27 182 11
原创 SwiftUI 打造一款收缩自如的 HStack(四):Layout 自定义布局
在本篇博文中,我们讨论了在 SwiftUI 中打造一款收缩自如“HStack”的最终实现。我们使用自定义 Layout 布局“恰如其分”的实现了 CollapsedLayout 布局容器从而圆满的完成了任务,棒棒哒!
2024-01-08 15:15:43 1062 12
原创 SwiftUI 打造一款收缩自如的 HStack(三):“魔镜魔镜,我爱你”
在本篇博文中,我们讨论了如何使用“魔镜”般的黑魔法神奇的摆脱可收缩“HStack“实现中多余的“赘肉”,最后我们不禁哼出“解放区的天是明朗的天,解放区的秃头码农好喜欢”的曲调,棒棒哒!
2024-01-05 13:14:11 901 8
原创 SwiftUI 打造一款收缩自如的 HStack(二):对齐+ZStack
在本篇博文中,我们在 SwiftUI 中用对齐机制和 ZStack 共同打造了一款可收缩的“HStack”。不同于之前“纯” HStack 的实现,用对齐可以全面把控容器内子视图的偏移做到随心所欲,小伙伴们值得拥有!
2024-01-04 21:47:39 1178 3
原创 SwiftUI 打造一款收缩自如的 HStack(一):“原汤化原食”
在本篇博文中,我们讨论了如何用 HStack 自身来打造一款可收缩的“HStack”,虽然读起来像一段绕口令但所幸我们最后成功的得偿所愿了。相信看完本篇后小伙伴们都会受益匪浅。
2024-01-04 16:43:01 985 7
原创 『番外篇十』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(下)
在本篇博文中,我们继续完善和消除了之前 PhotoGeter 应用的少许瑕疵。现在我们的 App 逻辑上更加简洁,对错误的处理也更加应对自如,完全做好了“荒野求生”的基本准备,棒棒哒!
2024-01-01 21:38:19 1021 3
原创 『番外篇九』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(上)
在本篇博文中,我们讨论了如何初步打造一款“五脏俱全”的网络图片显示 App。我们创建了数据模型,并将界面“化整为零”分割成各个独立的组件,最后我们将它们通通整合到一起:一款小巧的网络图片查看器就此应运而生啦。
2024-01-01 21:17:52 1009
原创 『番外篇八』SwiftUI 脑洞大开实现“另类”视图跟随方法
在本篇博文中,我们讨论了在 SwiftUI 中如何脑洞大开“另类”实现视图跟随的方法。相信看完本篇,大家会对 SwiftUI 视图的布局有着更深刻的领悟。
2023-12-31 12:00:19 1051 7
原创 『番外篇七』SwiftUI 获取视图全局位置在 NavigationStack 中失效的解决方法
在本篇博文中,我们讨论了在 SwiftUI 中为什么不能在 NavigationStack 中直接取得指定视图的全局位置信息,以及用哪些方法可以“优雅”的绕开这一问题从而得偿所愿。
2023-12-30 20:24:37 1192 6
原创 『番外篇六』SwiftUI 取得任意视图全局位置的三种方法
在本篇博文中,我们讨论了在 SwiftUI 中如何通过三种不同方法来获取任意视图的全局位置,任君选择。
2023-12-30 15:49:50 1173 7
原创 SwiftUI 趣谈之:绝不可能(Never)的 View!
在本篇博文中,我们先是讨论了 Swift 语言中 Never 类型的起源,以及 Never 在 SwiftUI 中的“真正使命”,最后我们尝试了创建自己的 Never 视图。
2023-12-23 12:08:58 992 12
原创 『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值
在本篇博文中,我们讨论了在 SwiftUI 中如何动态探查指定视图属性的值(比如 tag 或 id),并且深入扩展讲解了各种“变数”。最后,我们用基于此项技术的实例结束了整篇文章,相信大家都会受益良多。
2023-12-22 19:53:39 1249 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 117 12
原创 『番外篇三』Swift “乱弹”之带索引遍历异步序列(AsyncSequence)
在本篇博文中,我们讨论了在 Swift 中究竟怎么为普通集合以及异步序列元素的遍历加上索引,相信看完本篇的小伙伴们都会受益匪浅。
2023-12-15 21:00:42 194 5
原创 『番外篇二』Swift “黑魔法”之动态获取类实例隐藏属性的值
在本篇博文中,我们讨论了如何使用 Swift “黑魔法”获取类实例隐藏属性的值,并通过 UserDefaults 和 Thread 两个实际的例子来演示“黑魔法”具体的施展诀窍。
2023-12-11 21:04:29 504 17
原创 SwiftUI 中创建一个自定义文件管理器只需4步!你敢信!?
在本篇博文中,我们讨论了如何在 SwiftUI 中仅需 4 步就完成一个“麻雀虽小却五脏俱全”的自定义文件管理器,相信学完本课小伙伴们都会受益良多。
2023-12-07 20:29:25 350 17
原创 『番外篇一』SwiftUI 中如何让用户恣意的拖动视图
在本篇博文中,我们实现了让用户在 SwiftUI 中恣意的拖动视图。我们学习了 GestureState 手势状态的使用,并利用 SwiftUI 辅助调试技术来更好的“暴露”界面运行上的问题。
2023-12-07 10:22:38 168 9
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关注的人