{"id":2775,"url":"https://github.com/sachinkesiraju/SKSplashView","last_synced_at":"2025-08-03T12:31:11.163Z","repository":{"id":22727319,"uuid":"26071984","full_name":"sachinkesiraju/SKSplashView","owner":"sachinkesiraju","description":"Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app.","archived":false,"fork":false,"pushed_at":"2020-01-07T02:09:26.000Z","size":1448,"stargazers_count":473,"open_issues_count":4,"forks_count":73,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-13T06:34:36.860Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","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/sachinkesiraju.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":"2014-11-02T04:50:07.000Z","updated_at":"2024-09-10T15:01:43.000Z","dependencies_parsed_at":"2022-09-12T04:10:29.774Z","dependency_job_id":null,"html_url":"https://github.com/sachinkesiraju/SKSplashView","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachinkesiraju%2FSKSplashView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachinkesiraju%2FSKSplashView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachinkesiraju%2FSKSplashView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachinkesiraju%2FSKSplashView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sachinkesiraju","download_url":"https://codeload.github.com/sachinkesiraju/SKSplashView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228543117,"owners_count":17934427,"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.534Z","updated_at":"2024-12-07T00:30:55.502Z","avatar_url":"https://github.com/sachinkesiraju.png","language":"Objective-C","funding_links":[],"categories":["UI"],"sub_categories":["Splash View","Layout","Other free courses"],"readme":"SKSplashView\n============\n\nSKSplashView is a simple class to create beautiful animated splash views for transitioning between views. Perfect as a launch \nscreen while your app loads.\n\nThe splash view allows you to create an animated background view with preset animations with the option of adding a splash icon\nthat will animate as long as the splash view is animating.\n\n \u003cimg src = \"https://github.com/sachinkesiraju/SKSplashView/blob/master/SKSplashViewDemo/Example%20GIFs/twitter.gif\" width = \"320px\"\u003e \n\n\u003ch1\u003e Installation \u003c/h1\u003e\n\u003ch3\u003e Cocoapods \u003c/h3\u003e\nSKSplashView is available through \u003ca href = \"cocoapods.org\"\u003e Cocoapods\u003c/a\u003e. To install it, simply add the following to your Podfile.\n\n```\npod 'SKSplashView'\n```\n\u003ch3\u003e Alternative \u003c/h3\u003e\nIf installation through Cocoapods doesn't work or if you aren't comfortable using it, you can always just drag and drop the folder 'SKSplashView' into your project and `#import \"SKSplashView.h\"` and you're ready to go.\n\n\u003ch1\u003e Implementation \u003c/h1\u003e\n\n\u003ch2\u003e SKSplashView \u003c/h2\u003e\nSimply create an instance of SKSplashView with the desired customizability option.\n\n```\nSKSplashView *splashView = [[SKSplashView alloc] initWithBackgroundColor:[UIColor blueColor] animationType:SKSplashAnimationTypeZoom];\n// the splashView can be initialized with a variety of animation types and backgrounds. See customizability for more.\nsplashView.animationDuration = 3.0f; //Set the animation duration (Default: 1s)\n[self.view addSubview:splashView]; //Add the splash view to your current view\n[splashView startAnimation]; //Call this method to start the splash animation\n```\n\n\u003ch4\u003e Customizability \u003c/h4\u003e\nThe appearance of the splash view can be customized with the following properties:\n\n```\n@property (strong, nonatomic) UIImage *backgroundImage; //Sets a background image to the splash view\n@property (nonatomic, assign) CGFloat animationDuration; //Sets the duration of the splash view\n```\nThe splash view also allows you to customize the animation transition of the splash view  with the following types:\n\n```\nSKSplashAnimationTypeFade,\nSKSplashAnimationTypeBounce,\nSKSplashAnimationTypeShrink,\nSKSplashAnimationTypeZoom,\nSKSplashAnimationTypeNone\n```\n\n\u003ch2\u003e SKSplashIcon \u003c/h2\u003e\n\nIn addition to adding an animated splash view, you can also add an icon on your splash view with its own customizability options that will animate as long as the splash view is running.\nTo add a splash icon to your splash view:\n\n1. `#import \"SKSplashIcon.h\"` in the view you are presenting the splash view\n\n2. Initialize the splash icon as follows:\n\n```\nSKSplashIcon *splashIcon = [[SKSplashIcon alloc] initWithImage:[UIImage imageNamed:@\"test.png\"] animationType:SKIconAnimationTypeNone]; \n//Initialize with the customizability option of your choice. See Customizability for more.\n```\n3. Add the splash icon when you are initializing your splash view\n\n```\n  SKSplashView *splashView = [SKSplashView alloc] initWithSplashIcon:splashIcon backgroundColor:splashColor animationType:SKSplashAnimationTypeFade];\n```\n\n\u003ch4\u003e Customizability \u003c/h4\u003e\n\nThe appearance of the splash icon can be customized with the following properties:\n\n```\n@property (strong, nonatomic) UIColor *iconColor; //Sets the icon color of the icon (Default: white)\n@property (nonatomic, assign) CGSize iconSize; //Sets the size of the icon (Default: 60x60)\n```\nThe animation of the splash icon can also be customized with the following animation types:\n\n```\nSKIconAnimationTypeBounce,\nSKIconAnimationTypeGrow,\nSKIconAnimationTypeShrink,\nSKIconAnimationTypeFade,\nSKIconAnimationTypePing,\nSKIconAnimationTypeBlink,\nSKIconAnimationTypeNone\n```\n\n\u003ch1\u003e Delegate \u003c/h1\u003e \nYou can optionally add the SplashView delegate to your view controller to listen to when the splash view begins and ends animating.\nTo do this:\n\n- Add `\u003cSKSplashDelegate\u003e` to your interface\n\n- Set the delegate to your splash view `splashView.delegate = self;`\n\n- Add the following methods to listen to updates\n\n```\n- (void) splashView:(SKSplashView *)splashView didBeginAnimatingWithDuration:(float)duration\n{\n  NSLog(@\"Splash view started animating with duration %f\", duration);\n}\n\n- (void) splashViewDidEndAnimating:(SKSplashView *)splashView\n{\n  NSLog(@\"Splash view stopped animating\");\n}\n```\n\u003ch1\u003e Special Feature \u003c/h1\u003e\nSKSplashView also allows you to run a splash animation while executing a network request. This is ideal in situations where your app takes time during launch to download necessary data.\nBy simply calling:\n\n```\n[splashView startAnimationWhileExecuting:request withCompletion:^(NSData *data, NSURLResponse *response, NSError *error) {}];\n```\nwith an initialized splash view, the splash animation will repeat until you've downloaded everything you need to get started!\n\n\u003cimg src = \"https://github.com/sachinkesiraju/SKSplashView/raw/master/SKSplashViewDemo/Example%20GIFs/uber.gif\" width = \"320px\" height = \"568\"/\u003e\n\n\u003ci\u003e Note: This feature currently does not allow animation of the splash view itself but allows for certain splash icon animations. \u003c/i\u003e\n\n\u003ch1\u003e Example \u003c/h1\u003e \n\nSome examples of splash views created using SKSplashView (Twitter iOS app and Ping iOS app). All code to the examples is available in the \u003ca href = \"https://github.com/sachinkesiraju/SKSplashView/tree/master/SKSplashViewDemo\"\u003eDemo.\u003c/a\u003e\nIf you found a way to mimic another popular iOS app's splash view using SKSplashView, let \u003ca href = \"https://twitter.com/_sachink\"\u003e me \u003c/a\u003e know so I can add it here.\n\n\u003cimg src = \"https://github.com/sachinkesiraju/SKSplashView/raw/master/SKSplashViewDemo/Example%20GIFs/twitter.gif\" width = \"320px\" height = \"568\"/\u003e \u003cimg src=\"https://github.com/sachinkesiraju/SKSplashView/blob/master/SKSplashViewDemo/Example%20GIFs/ping.gif\" width = \"320px\" height = \"568\"/\u003e \n\nFor more help getting started with SKSplashView, check out the \u003ca href = \"https://github.com/sachinkesiraju/SKSplashView/tree/master/SKSplashViewDemo\"\u003eDemo\u003c/a\u003e.\n\n\u003ch1\u003e Community \u003c/h1\u003e\nIf you feel you can improve or add more customizability to SKSplashView, feel free to raise an issue/submit a PR. For any questions, reach out to me on Twitter \u003ca href = \"https://twitter.com/_sachink\"\u003e@_sachink\u003c/a\u003e\n\n\u003ch1\u003e License \u003c/h1\u003e\nSKSplashView is available under the MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsachinkesiraju%2FSKSplashView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsachinkesiraju%2FSKSplashView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsachinkesiraju%2FSKSplashView/lists"}