{"id":2776,"url":"https://github.com/PiXeL16/RevealingSplashView","last_synced_at":"2025-08-06T16:31:50.343Z","repository":{"id":4270611,"uuid":"52575370","full_name":"PiXeL16/RevealingSplashView","owner":"PiXeL16","description":"A Splash view that animates and reveals its content, inspired by Twitter splash","archived":false,"fork":false,"pushed_at":"2022-08-08T05:40:20.000Z","size":19703,"stargazers_count":1249,"open_issues_count":3,"forks_count":87,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-11-25T15:52:53.418Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/PiXeL16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-26T03:21:11.000Z","updated_at":"2024-10-23T09:40:49.000Z","dependencies_parsed_at":"2022-08-06T16:00:14.015Z","dependency_job_id":null,"html_url":"https://github.com/PiXeL16/RevealingSplashView","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FRevealingSplashView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FRevealingSplashView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FRevealingSplashView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FRevealingSplashView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiXeL16","download_url":"https://codeload.github.com/PiXeL16/RevealingSplashView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228923722,"owners_count":17992568,"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":[],"created_at":"2024-01-05T20:16:22.562Z","updated_at":"2024-12-09T16:31:10.786Z","avatar_url":"https://github.com/PiXeL16.png","language":"Swift","funding_links":[],"categories":["UI","Libs","Swift","UI [🔝](#readme)"],"sub_categories":["Splash View","UI","Layout","Other free courses"],"readme":"![Banner](/Web/banner.png)\n\n[![Build Status](https://travis-ci.org/PiXeL16/RevealingSplashView.svg?branch=master)](https://travis-ci.org/PiXeL16/RevealingSplashView/) [![codecov.io](https://codecov.io/github/PiXeL16/RevealingSplashView/coverage.svg?branch=master)](https://codecov.io/github/PiXeL16/RevealingSplashView?branch=master) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/RevealingSplashView.svg)](https://img.shields.io/cocoapods/v/RevealingSplashView.svg) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/matteocrippa/awesome-swift) [![Language](https://img.shields.io/badge/language-Swift%205.x-orange.svg)](https://swift.org) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/PiXeL16/RevealingSplashView/master/LICENSE)\n\n# RevealingSplashView\nA Splash view that animates and reveals its content, inspired by the `Twitter` splash.\n\n![RevealingSplashView](/Web/revealingSplashView.gif)\n\n:star: Features\n---\n* Customizable reveal icon image.\n* Customizable icon image color.\n* Customizable icon image size.\n* Customizable background color.\n* Customizable animation duration.\n* Customizable animation delay.\n* Several animation to choose from.\n* Easy to use :wink:.\n\n:octocat: Installation\n---\nGet `RevealingSplashView` on CocoaPods, just add `pod 'RevealingSplashView'` to your `Podfile` and then run `pod install`. You can also add the github to your `Carthage` file.\n\nIf you use `Carthage` you can just install it by adding `github \"PiXeL16/RevealingSplashView\"` to your `Carthage` file.\n\n### Using Swift 2.3?\nIf you are using Swift 2.3, please use the `0.0.6` release.\n\n:metal: Usage\n---\n\n### Video Tutorial\n`Rebeloper` created a nice [Video Tutorial](https://www.youtube.com/watch?v=jtCsh4R8UWo) where you can also learn how to use this control!. You can also follow the docs below\n\nUsage is pretty easy, just initialize your `RevealingSplashView` in your entry `ViewController` and in your `viewDidLoad()` function add it to your view. Then call `startAnimation()`:\n\n```swift\nimport RevealingSplashView\n\noverride func viewDidLoad() {\n        super.viewDidLoad()\n\n        //Initialize a revealing Splash with with the iconImage, the initial size and the background color\n        let revealingSplashView = RevealingSplashView(iconImage: UIImage(named: \"twitterLogo\")!,iconInitialSize: CGSize(width: 70, height: 70), backgroundColor: UIColor(red:0.11, green:0.56, blue:0.95, alpha:1.0))\n\n        //Adds the revealing splash view as a sub view\n        self.view.addSubview(revealingSplashView)\n\n        //Starts animation\n        revealingSplashView.startAnimation(){\n            print(\"Completed\")\n        }\n\n    }\n```\n\n**Ideally** your `iconInitialSize` should match the size of the icon in your `LaunchScreen.storyboard`.\n\nSo it you set your constrains in your `LaunchScreen.storyboard` to be 80 `height` and 80 `width` you should set the same size as the initial size of the `RevealingSplashView`\n\n### Custom Icon Color\nYou are also able to change the color of your `iconImage`.\n\n```swift\nimport RevealingSplashView\n\noverride func viewDidLoad() {\n        super.viewDidLoad()\n        \n        //Initialize a revealing Splash with with the iconImage, the initial size and the background color\n        let revealingSplashView = RevealingSplashView(iconImage: UIImage(named: \"twitterLogo\")!,iconInitialSize: CGSize(width: 70, height: 70), backgroundColor: UIColor(red:0.11, green:0.56, blue:0.95, alpha:1.0))\n\n        revealingSplashView.useCustomIconColor = true\n        revealingSplashView.iconColor = UIColor.red\n\n        //Adds the revealing splash view as a sub view\n        self.view.addSubview(revealingSplashView)\n\n        //Starts animation\n        revealingSplashView.startAnimation(){\n            print(\"Completed\")\n        }\n\n    }\n```\nThis will change the actual icon color to red before the animation.\n\n### Custom Background Image\nYou are also able to change the background image of your `backgroundImage`.\n\n```swift\nimport RevealingSplashView\n\noverride func viewDidLoad() {\n        super.viewDidLoad()\n        \n        //Initialize a revealing Splash with with the iconImage, the initial size and the background color\n        let revealingSplashView = RevealingSplashView(iconImage: UIImage(named: \"twitterLogo\")!, iconInitialSize: CGSize(width: 70, height: 70), backgroundImage: UIImage(named: \"BackgroundImage\")!)\n\n        revealingSplashView.useCustomIconColor = false\n        revealingSplashView.iconColor = UIColor.red\n\n        //Adds the revealing splash view as a sub view\n        self.view.addSubview(revealingSplashView)\n\n        //Starts animation\n        revealingSplashView.startAnimation(){\n            print(\"Completed\")\n        }\n\n    }\n```\n\n### Using NavigationBar or TabBar?\nIf you are using a `NavigationBar` or `TabBar` as your entry view controller, chances are that the animation will look offset by some pixels.\nThere are a couple of options here:\nInstead of adding the `RevealingSplashView` to your ViewController, you can add it to your `window`.\n```\nlet window = UIApplication.sharedApplication().keyWindow\nwindow?.addSubview(revealingSplashView)\n```\n\nYou can also create `another` entry view controller. Then add the `RevealingSplashView` to that ViewController instead of the one with the `NavigationBar` or `TabBar`.\nThen after the animation of the `RevealingSplashView` ends you can transition to your NavigationViewController.\n\n\n:thumbsup: Animations Types\n----\nThere are several animations to choose from just set the `animationType` property of the `RevealingSplashView`\n\n### Twitter\n\nIts the default animation that `Twitter` use for their app. If `animationType` is not set it will default to this one.\n\n![RevealingSplashView](/Web/revealingSplashView.gif)\n\n### HeartBeat\nHeartBeat like animation, unlike the other animations, this `special` animation allows you to continue to animate until a function its called.\nThis could be more entertaining to the user than having a quick launch and waiting on a spinning wheel if the app needs to fetch more data.\n\nTo use the Heartbeat animation you should `startAnimation()` as normal and then proceed with your network or background job. When you are done, just call\n```swift\n.heartAttack = true\n```\nAnd the splashview should dismiss.\n\n\n![HeartBeatAnimation](/Web/heartBeat.gif)\n\n### Rotate Out\n\nSimilar to the `Twitter` one but rotating while zooming out.\n\n```swift\n\nrevealingSplashView.animationType = SplashAnimationType.rotateOut\n```\n![RotateOutAnimation](/Web/rotateAndZoomOut.gif)\n\n### Pop and Zoom Out\n\nPop the view a couple of times and zoom out.\n\n```swift\n\nrevealingSplashView.animationType = SplashAnimationType.popAndZoomOut\n```\n![RotateOutAnimation](/Web/popAndZoomOut.gif)\n\n### Squeeze and Zoom Out\n\nSqueeze the view and zoom out.\n\n```swift\n\nrevealingSplashView.animationType = SplashAnimationType.squeezeAndZoomOut\n```\n![RotateOutAnimation](/Web/squeezeAndZoomOut.gif)\n\n### Swing and Zoom Out\n\nSwings the view and zoom out.\n\n```swift\n\nrevealingSplashView.animationType = SplashAnimationType.swingAndZoomOut\n```\n![RotateOutAnimation](/Web/swingAndZoomOut.gif)\n\n### Wobble and Zoom Out\n\nWobbles the view and zoom out.\n\n```swift\n\nrevealingSplashView.animationType = SplashAnimationType.wobbleAndZoomOut\n```\n![RotateOutAnimation](/Web/wobbleAndZoomOut.gif)\n\nTODO\n-----\n* Better code coverage\n* More animations\n\n:alien: Author\n------\nChris Jimenez - http://code.chrisjimenez.net, [@chrisjimeneznat](http://twitter.com/chrisjimeneznat)\n\n:beer: Donate\n------\nIf you want to buy me a beer, you can donate to my coin addresses below:\n#### BTC\n1BeGBew4CBdLgUSmvoyiU1LrM99GpkXgkj\n#### ETH\n0xa59a3793E3Cb5f3B1AdE6887783D225EDf67192d\n#### LTC\nLd6FB3Tqjf6B8iz9Gn9sMr7BnowAjSUXaV\n\n## License\n`RevealingSplashView` is released under the MIT license. See [LICENSE](https://github.com/pixel16/RevealingSplashView/blob/master/LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPiXeL16%2FRevealingSplashView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPiXeL16%2FRevealingSplashView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPiXeL16%2FRevealingSplashView/lists"}