{"id":13484545,"url":"https://github.com/ivanvorobei/SwiftUI","last_synced_at":"2025-03-27T16:31:08.107Z","repository":{"id":38554462,"uuid":"190211663","full_name":"ivanvorobei/SwiftUI","owner":"ivanvorobei","description":"Examples projects using SwiftUI released by WWDC2019. Include Layout, UI, Animations, Gestures, Draw and Data.","archived":false,"fork":false,"pushed_at":"2023-12-07T14:10:03.000Z","size":66130,"stargazers_count":5206,"open_issues_count":3,"forks_count":543,"subscribers_count":142,"default_branch":"master","last_synced_at":"2024-10-29T15:38:08.465Z","etag":null,"topics":["animate","composing-complex-interfaces","interface","swiftui","swiftui-animations","swiftui-controls","swiftui-sidemenu"],"latest_commit_sha":null,"homepage":"https://opensource.ivanvorobei.by","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivanvorobei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["ivanvorobei","sparrowcode"]}},"created_at":"2019-06-04T13:53:17.000Z","updated_at":"2024-10-28T11:16:40.000Z","dependencies_parsed_at":"2024-03-22T11:48:31.502Z","dependency_job_id":null,"html_url":"https://github.com/ivanvorobei/SwiftUI","commit_stats":null,"previous_names":["sparrowcode/swiftui"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvorobei%2FSwiftUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvorobei%2FSwiftUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvorobei%2FSwiftUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivanvorobei%2FSwiftUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivanvorobei","download_url":"https://codeload.github.com/ivanvorobei/SwiftUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245882324,"owners_count":20687866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animate","composing-complex-interfaces","interface","swiftui","swiftui-animations","swiftui-controls","swiftui-sidemenu"],"created_at":"2024-07-31T17:01:25.967Z","updated_at":"2025-03-27T16:31:03.096Z","avatar_url":"https://github.com/ivanvorobei.png","language":"Swift","readme":"## `SwiftUI` Examples\n\n\u003cimg align=\"left\" src=\"Previews/animatable-cards.gif\" width=\"280\"\u003e\n\n### About\n\nExamples projects using `SwiftUI` \u0026 `Combine`.  \nInclude Layout, UI, Animations, Gestures, Draw and Data.\n\nSee projects files in `Files` \u0026 `Other Projects` folders. If you have project, make a pull request or create issue with link to repo.\n\nInterested in UI and animations in `UIKit`?  \nSee [awesome-ios-ui](https://github.com/ivanvorobei/awesome-ios-ui) pack with UI elements.\n\nIf you like the project, don't forget to `put star ★` and follow me on GitHub:\n\n### Community\n\n\u003cp float=\"left\"\u003e\n    \u003ca href=\"https://twitter.com/sparrowcode_en\"\u003e\n        \u003cimg src=\"https://cdn.sparrowcode.io/github%2Fbadges%2Ftwitter.png?version=4\" height=\"52\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://t.me/sparrowcode_en\"\u003e\n        \u003cimg src=\"https://cdn.sparrowcode.io/github/badges/telegram.png?version=1\" height=\"52\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://mastodon.social/@sparrowcode_en\"\u003e\n        \u003cimg src=\"https://cdn.sparrowcode.io/github/badges/mastodon.png?version=2\" height=\"52\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"#apps-using\"\u003e\n        \u003cimg src=\"https://cdn.sparrowcode.io/github/badges/download-on-the-appstore.png?version=4\" height=\"52\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Navigate\n\n- [Animatable Cards](#animatable-cards)\n- [Area to Card](#area-to-card)\n\n#### Other projects\n\n- [Transition And Blur](#transition-and-blur)\n- [2048 Game](#2048-game)\n- [SFSymbols](#sfsymbols)\n- [Calculator](#calculator)\n- [Creating And Combining Views](#creating-and-combining-views)\n- [Building Lists And Navigation](#building-lists-and-navigation)\n- [Handling User Input](#handling-user-input)\n- [WWDCPlayer](#WWDCPlayer)\n- [Composing Complex Interfaces](#composing-complex-interfaces)\n- [Working With UIControls](#working-with-uicontrols)\n- [Example To-Do App](#example-to-do-app)\n- [iPadOS Scenes](#ipados-scenes)\n- [Combine using GitHub API](#combine-using-github-api)\n- [Async image loading](#async-image-loading)\n- [Interfacing With UIKit](#interfacing-with-uikit)\n- [GitHub Search](#github-search)\n- [Time Travel](#time-travel)\n- [Drawing Paths And Shapes](#drawing-paths-and-shapes)\n- [Animating Views And Transitions](#animating-views-and-transitions)\n- [Jike](#jike)\n- [Flux](#flux)\n- [PureGenius](#puregenius)\n- [SwiftUI Download Progress View](#SwiftUIDownloadView)\n- [SwiftUI SideMenu](#SwiftUI-SideMenu)\n- [SwiftUI Currency App](#SwiftUI-Currency)\n- [SwiftUI Weather App](#SwiftUI-Weather)\n- [DesignCode SwiftUI App](https://github.com/mythxn/DesignCode)\n- [SwiftUI SlideToOpen](#MTSlideToOpen-SwiftUI)\n- [Currency Converter \u0026 Calculator](#transition-and-blur)\n- [FlipClock-SwiftUI](#FlipClock-SwiftUI)\n- [Countdown Film Clutter](#CountdownFilmClutter-SwiftUI)\n- [SpotlightSearch](#SpotlightSearch)\n- [Growing text view in SwiftUI](#Growing-text-view-in-SwiftUI)\n- [Calculator Clone for iPadOS](https://github.com/bofeiw/ios-calculator-clone-for-ipados)\n- [MGFlipView](#MGFlipView)\n\nAlso include:\n- Movie\n- InstaFake\n- TempusRomanumII\n- SwiftUI + Redux\n- React Meets SwiftUI\n- Webview\n- UINote\n- SplitView\n- Card Animation\n\n## Animatable Cards\n\n\u003cimg align=\"left\" src=\"Previews/animatable-cards.gif\" width=\"280\"\u003e\n\n#### 3D\n\nFor add 3D rotation for back cards use code:\n\n```swift\n.rotation3DEffect(\n\tAngle(degrees: dragState.isActive ? 0 : 60), axis: (x: 10.0, y: 10.0, z: 10.0)\n )\n```\n\nFor medium card use 30 angles.\n\n#### Animation\n\nIn preview I am use `Spring` animation for all cards:\n\n```swift\n.animation(.spring())\n\n```\n\n## Area to Card\n\n\u003cimg align=\"left\" src=\"Previews/area-to-card.gif\" width=\"280\"\u003e\n\n#### SFSymbols\n\nFor button using `SFSymbols` pack with ready-use icons. Also support customisable weight:\n\n```swift\nImage(systemName: show ? \"slash.circle.fill\" : \"slash.circle\")\n   .font(Font.title.weight(.semibold))\n```\n\n#### Button\n\nFor change state using `@State` as property:\n\n```swift\n@State var show = false\n```\n\n## Transition And Blur\n\n\u003cimg src=\"Resources/TransitionBlur.png\" width=\"700\"\u003e\n\n## 2048 Game\n\n\u003cimg src=\"Resources/2048game.png\" width=\"800\"\u003e\n\n## SFSymbols\n\n\u003cimg src=\"Resources/SFSymbols.gif\" width=\"700\"\u003e\n\n## Calculator\n\n\u003cimg src=\"Resources/Calculator.png\" width=\"250\"\u003e\n\n## Creating And Combining Views\n\n\u003cimg src=\"Resources/CreatingAndCombiningViews.png\" width=\"650\"\u003e\n\n## Building Lists And Navigation\n\n\u003cimg src=\"Resources/BuildingListsAndNavigation.png\" width=\"650\"\u003e\n\n### WWDCPlayer\n\n\u003cimg src=\"Resources/WWDCPlayer.png\" width=\"260\"\u003e\n\n### Handling User Input\n\n\u003cimg src=\"Resources/HandlingUserInput.png\" width=\"650\"\u003e\n\n### Composing Complex Interfaces\n\n\u003cimg src=\"Resources/ComposingComplexInterfaces.png\" width=\"650\"\u003e\n\n### Working With UIControls\n\n\u003cimg src=\"Resources/WorkingWithUIControls.png\" width=\"650\"\u003e\n\u003cimg src=\"Resources/WorkingWithUIControls2.png\" width=\"650\"\u003e\n\n### Example To-Do App\n\n\u003cimg src=\"Resources/ExampleToDoApp.png\" width=\"850\"\u003e\n\n### iPadOS Scenes\n\n\u003cimg src=\"Resources/iPadOSScenes.jpeg\" width=\"600\"\u003e\n\n### Combine using GitHub API\n\n\u003cimg src=\"Resources/CombineUsingGitHubAPI.png\" width=\"260\"\u003e\n\n### Async image loading\n\n\u003cimg src=\"Resources/AsyncImageLoading.gif\" width=\"250\"\u003e\n\n### Interfacing With UIKit\n\n\u003cimg src=\"Resources/InterfacingWithUIKit.png\" width=\"650\"\u003e\n\n### GitHub Search\n\n\u003cimg src=\"Resources/GitHubSearch.png\" width=\"270\"\u003e\n\n### Time Travel\n\n\u003cimg src=\"Resources/TimeTravel.gif\" width=\"250\"\u003e\n\n### Drawing Paths And Shapes\n\n\u003cimg src=\"Resources/DrawingPathsAndShapes.png\" width=\"650\"\u003e\n\n### Animating Views And Transitions\n\n\u003cimg src=\"Resources/AnimatingViewsAndTransitions.png\" width=\"650\"\u003e\n\n### Jike\n\n\u003cimg src=\"Resources/Jike.png\" width=\"750\"\u003e\n\n### Flux\n\n\u003cimg src=\"Resources/Flux.gif\" width=\"260\"\u003e\n\n#### PureGenius\n\n\u003cimg src=\"Resources/PureGenius.gif\" width=\"260\"\u003e\n\n### SwiftUIDownloadView\n\n\u003cimg src=\"Resources/SwiftUIDownloadView.gif\" width=\"294\"\u003e\n\n### SwiftUI SideMenu\n\n[Source](https://github.com/Vidhyadharan24/SideMenu)\n\n\u003cimg src=\"Resources/SwiftUISideMenu.gif\" width=\"300\"\u003e\n\n### SwiftUI Currency\n\n[Source](https://github.com/alexliubj/SwiftUI-Currency-Converter)\n\n\u003cimg src=\"Resources/SwiftUICurrency.png\" width=\"300\"\u003e\n\n### SwiftUI Weather\n\n[Source](https://github.com/bpisano/Weather) and [Tutorial](https://medium.com/lunabee-studio/building-a-weather-app-with-swiftui-4ec2743ff615)\n\n\u003cimg src=\"https://github.com/bpisano/Weather/blob/master/Images/Banner.png\" width=\"650\"\u003e\n\n### DesignCode SwiftUI\n[Source](https://github.com/mythxn/DesignCode/tree/master)\n\n\u003cimg src=\"https://github.com/mythxn/DesignCode-SwiftUI/blob/master/preview.gif\" height=450\u003e\u003cimg src=\"https://i.imgur.com/N9HfWdD.png\" height=450\u003e\n\n### MTSlideToOpen-SwiftUI\n[Source](https://github.com/lemanhtien/MTSlideToOpen-SwiftUI)\n\n\u003ca href=\"url\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/lemanhtien/MTSlideToOpen-SwiftUI/master/example.gif\" align=\"center\" height=\"500\" \u003e\u003c/a\u003e\n\n### Currency Converter \u0026 Calculator\n\n[Source](https://github.com/CurrencyConverterCalculator/iosCCC)\n\n\u003cimg src=\"https://github.com/CurrencyConverterCalculator/iosCCC/blob/master/dark.gif\" width=\"320px\"/\u003e \u003cimg src=\"https://github.com/CurrencyConverterCalculator/iosCCC/blob/master/light.gif\" width=\"320px\"/\u003e\n### FlipClock-SwiftUI\n[Source](https://github.com/elpassion/FlipClock-SwiftUI)\n\n|Light|Dark|\n|:-:|:-:|\n|\u003cimg src=\"https://github.com/elpassion/FlipClock-SwiftUI/blob/master/Gifs/flip_clock_light.gif\" width=\"260\"\u003e|\u003cimg src=\"https://github.com/elpassion/FlipClock-SwiftUI/blob/master/Gifs/flip_clock_dark.gif\" width=\"260\"\u003e|\n\n### CountdownFilmClutter-SwiftUI\n\n[Source](https://github.com/elpassion/CountdownFilmClutter-SwiftUI)\n\n\u003cimg src=\"https://github.com/elpassion/CountdownFilmClutter-SwiftUI/blob/master/Gifs/countdown_film_clutter.gif\"\u003e\n\n### SpotlightSearch\n[Source](https://github.com/boraseoksoon/SpotlightSearch)\n\n|Light|Dark|\n|:-:|:-:|\n|\u003cimg src=\"https://github.com/boraseoksoon/SpotlightSearch/blob/master/gif/white_theme.gif\" width=\"260\"\u003e|\u003cimg src=\"https://github.com/boraseoksoon/SpotlightSearch/blob/master/gif/dark_theme.gif\" width=\"260\"\u003e|\n\n### SwiftUI Weather App with MVVM and CoreML\n\n[Source](https://github.com/necatievrenyasar/SwiftUI-WeatherApp)\n\n\u003cimg src=\"https://user-images.githubusercontent.com/1447937/72296817-96f10580-366b-11ea-957c-023efeac958f.png\" width=\"300\"\u003e\n\n### Growing text view in SwiftUI\n[Source](https://github.com/Zaprogramiacz/GrowingTextView)\n\n\u003cimg src=\"https://github.com/Zaprogramiacz/GrowingTextView/blob/master/Resources/growing_text_view.gif\"\u003e\n\n### MGFlipView\n[Source](https://github.com/Zaprogramiacz/MGFlipView)\n\n\u003cimg src=\"https://github.com/Zaprogramiacz/MGFlipView/blob/master/Examples/flip_view_example.gif\"\u003e\n\n### Authors\n\nThanks for [Jinxiansen](https://github.com/Jinxiansen), [ra1028](https://github.com/ra1028), [timdonnelly](https://github.com/timdonnelly), [TwoLivesLeft](https://github.com/TwoLivesLeft), [devxoul](https://github.com/devxoul), [cmtrounce](https://github.com/cmtrounce), [unixzii](https://github.com/unixzii), [ra1028](https://github.com/ra1028) for examples project.\n\n## Other Projects\n\nI love being helpful. Here I have provided a list of libraries that I keep up to date. For see `video previews` of libraries without install open [opensource.ivanvorobei.by](https://opensource.ivanvorobei.by) website.\u003cbr\u003e\nI have libraries with native interface and managing permissions. Also available pack of useful extensions for boost your development process.\n\n\u003cp float=\"left\"\u003e\n    \u003ca href=\"https://opensource.ivanvorobei.by\"\u003e\n        \u003cimg src=\"https://github.com/ivanvorobei/Readme/blob/main/Buttons/more-libraries.svg\"\u003e\n    \u003c/a\u003e\n        \u003ca href=\"https://xcodeshop.ivanvorobei.by\"\u003e\n        \u003cimg src=\"https://github.com/ivanvorobei/Readme/blob/main/Buttons/xcode-shop.svg\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Russian Community\n\nПодписывайся в телеграмм-канал, если хочешь получать уведомления о новых туториалах.\u003cbr\u003e\nСо сложными и непонятными задачами помогут в чате.\n\n\u003cp float=\"left\"\u003e\n    \u003ca href=\"https://tutorials.ivanvorobei.by/telegram/channel\"\u003e\n        \u003cimg src=\"https://github.com/ivanvorobei/Readme/blob/main/Buttons/open-telegram-channel.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://tutorials.ivanvorobei.by/telegram/chat\"\u003e\n        \u003cimg src=\"https://github.com/ivanvorobei/Readme/blob/main/Buttons/russian-community-chat.svg\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nВидео-туториалы выклыдываю на [YouTube](https://tutorials.ivanvorobei.by/youtube):\n\n[![Tutorials on YouTube](https://cdn.ivanvorobei.by/github/readme/youtube-preview.jpg)](https://tutorials.ivanvorobei.by/youtube)\n","funding_links":["https://github.com/sponsors/ivanvorobei","https://github.com/sponsors/sparrowcode"],"categories":["Swift","Misc","🛠 Examples"],"sub_categories":["SwiftUI","Open Source Apps"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanvorobei%2FSwiftUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivanvorobei%2FSwiftUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivanvorobei%2FSwiftUI/lists"}