一个用于构建 Apple 平台应用的 Swift 库,提供统一的状态管理、可组合的功能模块与便于测试的副作用处理。
elijah-semyonov/DuoLikeAnimation
一个 iOS 演示项目,用 SwiftUI Metal 着色器和 Core Motion 模拟可折叠 iPhone 的折叠动画效果。
- Star
- 158
- Fork
- 40
- 未关闭 Issue
- 0
- 最近提交
- 上个月
这是什么?
DuoLikeAnimation 是一个 iOS 演示项目,仅使用 SwiftUI 着色器和 Core Motion,模拟 iPhone Duo 的折叠动画。Metal 的 layerEffect 接收设备实时姿态,让一块平面手机呈现出类似可折叠设备一半屏幕的折叠效果。
效果把屏幕当作一块磨砂玻璃。设备绕竖直轴倾斜时,界面在空间中保持不动,着色器通过透视重投影、模糊并按玻璃与界面平面的距离变暗画面,光线未命中界面的区域显示为黑色。默认假设眼睛距离屏幕 320 毫米。
项目包含着色器、可调参数的 SwiftUI 修饰符、用于校准零倾斜姿态的 Core Motion 模型,以及带有重新校准和手动倾斜面板的演示界面。模拟器没有运动数据,因此默认启用手动倾斜。
核心功能
- 01Metal layerEffect 着色器实现透视重投影、基于距离的模糊和变暗。
- 02Core Motion 提供设备姿态,并以首个采样作为零倾斜基准进行校准。
- 03通过 .foldEffect(angle:parameters:) 修饰符调用效果,参数可调。
- 04浮动面板支持重新校准和手动倾斜。
- 05模拟器上默认启用手动倾斜模式。
适用场景
- 学习如何用 Metal 编写 SwiftUI layerEffect 着色器。
- 在 iOS 上原型化可折叠设备或 3D 倾斜界面效果。
- 研究如何用 Core Motion 姿态数据驱动视觉效果。
快速上手
- 1
在 Xcode 中打开 DuoLikeAnimation.xcodeproj
- 2
在 iOS 设备上运行应用(模拟器没有运动数据,默认使用手动倾斜)
使用前须知
- 仅适用于 iOS,真实的倾斜效果需要带运动传感器的实体设备。
- 这是一个演示项目,而不是可复用的库。
标签
常见问题
- DuoLikeAnimation 是什么?
- 一个 iOS 演示项目,用 SwiftUI Metal 着色器和 Core Motion 模拟可折叠 iPhone 的折叠动画效果。 DuoLikeAnimation 是一个 iOS 演示项目,仅使用 SwiftUI 着色器和 Core Motion,模拟 iPhone Duo 的折叠动画。Metal 的 layerEffect 接收设备实时姿态,让一块平面手机呈现出类似可折叠设备一半屏幕的折叠效果。
- DuoLikeAnimation 可以免费使用吗?用的什么许可证?
- DuoLikeAnimation 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- DuoLikeAnimation 还在维护吗?
- 半年内有更新。DuoLikeAnimation 最近一次提交是在 2026年9月11日。
- DuoLikeAnimation 适合用来做什么?
- 学习如何用 Metal 编写 SwiftUI layerEffect 着色器。 在 iOS 上原型化可折叠设备或 3D 倾斜界面效果。 研究如何用 Core Motion 姿态数据驱动视觉效果。
- DuoLikeAnimation 怎么安装和运行?
- 在 Xcode 中打开 DuoLikeAnimation.xcodeproj 在 iOS 设备上运行应用(模拟器没有运动数据,默认使用手动倾斜)
- 在哪里获取 DuoLikeAnimation?
- 源代码和安装说明在 GitHub 上:https://github.com/elijah-semyonov/DuoLikeAnimation
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.5万1678SwiftMIT更新于 15天前
一款 iOS 应用启动器,无需安装即可在其中运行 IPA 应用,并支持每个应用多个数据容器。
1.3万1196SwiftAGPL-3.0更新于 4天前
Airbnb 推出的 iOS 库,可原生渲染导出为 bodymovin JSON 的 After Effects 矢量动画。
2.7万3838SwiftApache-2.0更新于 15天前
为 Xcode 提供 GitHub Copilot 支持的 AI 编程助手,涵盖代码补全、对话与 Agent 模式。
63482064SwiftMIT更新于 前天
一个为 Claude Code、Codex 等 AI 编程助手准备的智能体技能,帮助其写出更现代、正确的 SwiftUI 代码。
6245236MIT更新于 5天前