[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6824":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":44,"readmeContent":45,"aiSummary":46,"trendingCount":16,"starSnapshotCount":16,"syncStatus":47,"lastSyncTime":48,"discoverSource":49},6824,"open-swiftui-animations","amosgyamfi\u002Fopen-swiftui-animations","amosgyamfi","You don't need an animation library to add a simple effect to your SwiftUI app. Create it yourself with SwiftUI. This repo inspires you to add helpful and expressive SwiftUI animations like loading\u002Fprogress, looping, on-off, enter, exit, fade, spin, and background animations to your next project. The repo also contains tremendous spring animations.","https:\u002F\u002Ftwitter.com\u002Famos_gyamfi",null,"Swift",5503,288,105,20,0,1,10,31,4,73.48,"The Unlicense",false,"master",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"animations","app-animations","dynamic-island","dynamic-island-animation","ios","ios-animations","ios-design-patterns","iosanimation","swift","swift5","swiftui","swiftui-animations","transition-animation","transitions","uianimations","watchos","xcode","2026-06-12 04:00:30","## Open SwiftUI Animations\n### Pure SwiftUI animation inspirations for your next iOS, macOS, visionOS, and watchOS projects. Enjoy 😊. \n\n## Support\n- https:\u002F\u002Fgithub.com\u002Fsponsors\u002Famosgyamfi \n\n- https:\u002F\u002Fbuymeacoffee.com\u002Famosgyamfi\n\n- https:\u002F\u002Fko-fi.com\u002Famosgyamfi\n  \n### Animate Anything With SwiftUI\n![SwiftUI animations preview](GIF_Previews\u002FjiggleAndJelloGithub.gif)\n\nSwiftUI animation is compelling and superb. With minimal effort, you can add incredible effects and beautiful animations to your apps. **Why use an animation library instead of creating these tiny effects yourself?** Get inspiration from [here](OpenSwiftUIAnimations) and start building your SwiftUI animations today. Most animations here are based on the animations section in the [Apple Developer Documentation](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fswiftui\u002Fanimations). Check out the [Xcode project](OpenSwiftUIAnimations) for examples of the new [Phase Animator](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fswiftui\u002Fphaseanimator), Symbol Effects, [Keyframe Animator](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fswiftui\u002Fkeyframeanimator), and [Spring Animations](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fswiftui\u002Fspring) for iOS 17 and beyond. Would you like to see an animation that is not here, or did you find an engaging one to add? Contact me on X: [@amos_gyamfi](https:\u002F\u002Ftwitter.com\u002Famos_gyamfi) or add it as a task in the [project's backlog](https:\u002F\u002Fgithub.com\u002Fusers\u002Famosgyamfi\u002Fprojects\u002F1\u002Fviews\u002F1). \n\nStarting in 2025, I will generate some of the SwiftUI animations using SOTA models like Gemini 2.5 Pro, Claude 3.7 Sonnet, OpenAI o3, and o4-mini models.\n---\n\n### Liquid Glass Shape Morphing Animation With GlassEffectContainer: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fswiftui_tutorial_projects\u002Fblob\u002Fmaster\u002FGist\u002FLiquidGlassEffectContainer.swift)\n![Shape Morphing Animation With GlassEffectContainer](GIF_Previews\u002FGlassEffectContainerMorphing.gif)\n```swift\nimport SwiftUI\n\nstruct LiquidGlassEffectContainer: View {\n    var body: some View {\n        GlassEffectContainer(spacing: 50) {\n            PhaseAnimator([false, true]) { morph in\n                HStack(spacing: morph ? 50.0 : -15.0) {\n                    Button {\n                        \u002F\u002F\n                    } label: {\n                        Image(systemName: \"scribble.variable\")\n                    }\n                    .padding()\n                    .glassEffect()\n                    \n                    Button {\n                        \u002F\u002F\n                    } label: {\n                        Image(systemName: \"eraser.fill\")\n                    }\n                    .padding()\n                    .glassEffect()\n                }\n                .tint(.green)\n                .font(.system(size: 64.0))\n            } animation: { morph in\n                    \u002F\u002F.bouncy(duration: 2, extraBounce: 0.5)\n                    \u002F\u002F.easeOut(duration: 2)\n                    .easeInOut(duration: 2)\n                    \u002F\u002F.timingCurve(0.68, -0.6, 0.32, 1.6, duration: 2)\n                    \n            }\n        }\n    }\n}\n\n#Preview {\n    LiquidGlassEffectContainer()\n        .preferredColorScheme(.dark)\n}\n```\n---\n\n### Safari-Style Add to Bookmarks Animation: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FAddToBookmark.swift)\n![Safari-Style Add to Bookmarks Animation](GIF_Previews\u002FaddToBookmark.gif)\n\n---\n\n### Animated, visual guide to SwiftUI mask(alignment:_:), clipShape(_:style:), and clipped(antialiased:): [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FMaskClippedClipShape.swift)\n![Animated, visual guide to SwiftUI mask(alignment:_:), clipShape(_:style:), and clipped(antialiased:)](GIF_Previews\u002FMaskClippedClipShape.gif)\n\n---\n\n### 2D rotation around specified anchor: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FFlowerAnimation.swift)\n![2D rotation around specified anchor](GIF_Previews\u002F2dAnchorRotation.gif)\n\n---\n\n### SwiftUI New Year's Eve Fireworks: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FNewYearsEveFireworks2026.swift)\n![SwiftUI New Year's Eve Fireworks](GIF_Previews\u002FSwiftUINewYearsEveFireworks.gif)\n\n---\n\n### Image generation loader: [Gist](https:\u002F\u002Fgist.github.com\u002Famosgyamfi\u002Fb9fb404fcc1fc14b735f84095b8f7552#file-imagegenerationloader-swift)\n![Image generation loader](GIF_Previews\u002FimageGenerator.gif)\n\n---\n\n### 3 Ways to add animations: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FThreeWaysToAnimate.swift)  \n![3 Ways to add animations](GIF_Previews\u002FthreeWaysToAnimate.gif)\n\n---\n\n### Gemini 2.5 Pro + OpenAI o3 SwiftUI-generated animations: [Gist](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FGists_To_Try\u002FGemini_25_With_OpenAI_o3_Animation.swift). Note: The animations are unedited. Modify and use them to suit your needs.  \n![SwiftUI fireworks animation](GIF_Previews\u002Fgemini25_openaio3_animations.gif)\n\n---\n\n### Thinking, Weighing Options, Evaluating Sentence \n![](GIF_Previews\u002FthinkingWeighingEvaluating.gif)\n---\n\n### SwiftUI Moving Border With dashPhase \n![Hue rotation](GIF_Previews\u002FSwiftUIMovingBorder.gif)\n---\n\n### Getting Inner and Outer Borders \n![Inner and Outer Borders](GIF_Previews\u002FinnerOuterBorder.gif)\n---\n\n### [PulsingHearts.swift](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FOpenSwiftUIAnimations\u002FFitnessActivityAnimations\u002FPulsingHearts.swift)  \n![Pulsating Hearts](GIF_Previews\u002FpulsatingHeart.gif)\n---\n\n### [SlideToUnlock.swift](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FOpenSwiftUIAnimations\u002FSlideToCancelAnimations\u002FSlideToCancelWithScale.swift): Find [All Variations](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Ftree\u002Fmaster\u002FOpenSwiftUIAnimations\u002FSlideToCancelAnimations) \n![Slide to unlock](GIF_Previews\u002FslideToUnlock.gif)\n---\n\n\n### [CrossFadeNumericTransition.swift](https:\u002F\u002Fgithub.com\u002Famosgyamfi\u002Fopen-swiftui-animations\u002Fblob\u002Fmaster\u002FOpenSwiftUIAnimations\u002FHumanInitiatedAnimations\u002FIncreaseDecrease.swift) \n![Numeric transition](GIF_Previews\u002FnumericTransitionCrossfade.gif)\n---\n\n### Hue Rotation effect with Phase Animator \n![Hue rotation](GIF_Previews\u002Fwwdc24Invite.gif)\n---\n\n### Hello WWDC24 \n![WWDC24](GIF_Previews\u002Fwwdc24.gif)\n---\n\n### Duolingo getting started and loading animations\n![Duolingo Animations](GIF_Previews\u002FduoAnimated.gif)\n---\n\n### How Things Move: Constant speed, acceleration, deceleration\n![How Things Move](GIF_Previews\u002FlinearEasedAnimations.gif)\n---\n\n### Vision Pro 3D rotation \n![Vision Pro 3D rotation](GIF_Previews\u002F3dObjectsInvisionOS.gif)\n---\n\n### 3D Rotate String Characters \n![3D Rotate String Characters ](GIF_Previews\u002FcharacterFlip.gif)\n---\n\n### Flip String Characters in XYZ\n![Flip String Characters in XYZ](GIF_Previews\u002FflipCharactersXYZ.gif)\n---\n\n### Use DashPhase to move dashes around a shape. \n![Animate dashphase](GIF_Previews\u002FdashPhase.gif)\n---\n\n### Animated Signature: Use trimming to draw and erase the path. \n![Animated Signature](GIF_Previews\u002FSignatureAnimation.gif)\n---\n\n**Reactions with Springs**: [EmotionalReactions.swift](OpenSwiftUIAnimations\u002FReactions\u002FMessengerReactions\u002FEmotionalReactions.swift)\n![EmotionalReactions.swift](GIF_Previews\u002FemotionalReactions.gif)\n---\n\n**Expressive Reactions**: [IncomingMessageView.swift](OpenSwiftUIAnimations\u002FReactions\u002FMessengerReactions\u002FIncomingMessageView.swift)\n![Expressive Reactions](GIF_Previews\u002FExpressiveReactions.gif)\n---\n\n**Content Transition: Smooth Symbols Swapping**: [Add soon]()\n![Content Transition:](GIF_Previews\u002FcontentTransition.gif)\n---\n\n**Content Transition, Phase Animator with Springs: Create seamless icon replacement: [Add soon]()\n![Content Transition, Phase Animator](GIF_Previews\u002FcontentTransitionWithPhaseAnimator.gif)\n---\n\n**X Like Animation**: [XLike Animation](OpenSwiftUIAnimations\u002FReactions\u002FXLike)\n![XLike](GIF_Previews\u002FXlike.gif)\n---\n\n**Animating Achors**: [Add soon]()\n![AnchorMovement.swift](GIF_Previews\u002FanchorMovement.gif)\n---\n\n**Achieving Bounce**: [Add soon]()\n![BouncyAlternative.swift](GIF_Previews\u002FbouncyAlternative.gif)\n---\n\n**3D Y-Rotation - visionOS**: [Add soon]()\n![AirPodsMaxAnimation.swift](GIF_Previews\u002FAirPodsMaxAnimation.gif)\n---\n\n**Incoming call animation, symbol effect with variable color and hue rotation**: [IncomingCall.swift](https:\u002F\u002Fgist.github.com\u002Famosgyamfi\u002F26ba8cbecac18202c6f2065836297766#file-incomingcall-swift)\n![AirPodsMaxAnimation.swift](GIF_Previews\u002FincomingCallAnimation.gif)\n---\n\n\n\n\n","这个项目提供了一系列使用纯SwiftUI编写的动画示例，旨在激发开发者为iOS、macOS、visionOS和watchOS应用添加生动的动画效果。核心功能包括加载\u002F进度条、循环、开关、进入退出、淡入淡出、旋转以及背景动画等，并且特别强调了弹簧动画的效果。项目基于Apple官方文档中的动画章节进行构建，利用了Phase Animator、Keyframe Animator等新特性来实现复杂的动画逻辑。适用于希望在不依赖第三方库的情况下提升应用视觉体验的SwiftUI开发者。",2,"2026-06-11 03:09:04","top_language"]