{"id":21013757,"url":"https://github.com/pyro2927/parallaxblur","last_synced_at":"2025-04-04T08:09:43.874Z","repository":{"id":19971328,"uuid":"23238351","full_name":"pyro2927/ParallaxBlur","owner":"pyro2927","description":"Easy to subclass parallax UITableController w/ blurring image header, floating header, and UIScrollView for content","archived":false,"fork":false,"pushed_at":"2015-08-03T17:33:04.000Z","size":4182,"stargazers_count":816,"open_issues_count":13,"forks_count":66,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-28T07:09:29.882Z","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/pyro2927.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-08-22T20:08:56.000Z","updated_at":"2025-01-17T15:23:52.000Z","dependencies_parsed_at":"2022-08-27T03:52:20.643Z","dependency_job_id":null,"html_url":"https://github.com/pyro2927/ParallaxBlur","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyro2927%2FParallaxBlur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyro2927%2FParallaxBlur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyro2927%2FParallaxBlur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyro2927%2FParallaxBlur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyro2927","download_url":"https://codeload.github.com/pyro2927/ParallaxBlur/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142074,"owners_count":20890653,"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-11-19T09:44:06.731Z","updated_at":"2025-04-04T08:09:43.855Z","avatar_url":"https://github.com/pyro2927.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ParallaxBlur\n\n[![CI Status](http://img.shields.io/travis/pyro2927/ParallaxBlur.svg?style=flat)](https://travis-ci.org/pyro2927/ParallaxBlur)\n[![Version](https://img.shields.io/cocoapods/v/ParallaxBlur.svg?style=flat)](http://cocoadocs.org/docsets/ParallaxBlur)\n[![License](https://img.shields.io/cocoapods/l/ParallaxBlur.svg?style=flat)](http://cocoadocs.org/docsets/ParallaxBlur)\n[![Platform](https://img.shields.io/cocoapods/p/ParallaxBlur.svg?style=flat)](http://cocoadocs.org/docsets/ParallaxBlur)\n\nParallaxBlur aims the be an easy-to-use implementation of a UITableController with a parallax header.  It is screen resolution independant, orientation indendant, and will automatically adjust if there is a navigation bar in place.\n\nThe user interaction is fairly straightforward.  The header image blurs as you scroll up, leaving a 60 pixel area always visible, and expands out the header image if you pull down, while at the same time making the overlay views transparent.\n\nDeveloped at [Software for Good](http://sfg.io).\n\n![](./preview.gif)\n\nInspiration was taken from Aaron Pang's [SecretViewer](https://github.com/aaronpang/SecretViewer).  I liked the way it looked and behaved, but it wasn't extremely customizable, and not setup to be used as a Pod.\n\n## Basic Usage\n\nUsage is pretty simple.  Subclass `JPBFloatingTextViewController` and then customize it within `viewDidLoad`:\n\n    [self setHeaderImage:[UIImage imageNamed:@\"meatballs.jpeg\"]];\n    [self setTitleText:@\"The Best Title in the World\"];\n    [self setSubtitleText:@\"ikea meatballs are the bomb\"];\n\nYou should override the required `UITableViewDatasource` and `UITableViewDelegate` methods to supply the content section with cells and handle user selections.\n\n## Advanced Usage\n\nYou can also more heavily customize the header by using `addHeaderOverlayView:`.  Using this will add the passed `UIView` to the scrolling header.  An example can be seen in `CustomHeaderViewController.m`.  You can get the height of the header (useful for getting things to align near the bottom) by calling `[self headerHeight]`.\n\n    imageView = [[UIImageView alloc] initWithFrame:CGRectMake(15, [self headerHeight] - 100, 90, 90)];\n    [imageView setImage:[UIImage imageNamed:@\"awesome.jpg\"]];\n    [self addHeaderOverlayView:imageView];\n\n## Loading Images Asynchronously\n\nIf you want to load remote images, I'd recommend using [SDWebImage](https://github.com/rs/SDWebImage).  Example for using it with ParallaxBlur:\n\n    [[SDWebImageManager sharedManager] downloadImageWithURL:headerImageURL options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {\n        //Track progress if you wish\n    } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {\n        if (finished) {\n          [self setHeaderImage:image];\n        }\n    }];\n\n## Geeky Stuff\n\n![](./asplode.png)\n\nThe view controller manages three `UIScrollViews`, one for the header/background, one for the lower content, and an \"main\" one to handle user interactions and delegate callbacks.  The image \"blurring\" is just a gradual change in a secondary image overlay's alpha, which is a blurred version of the image set, precalculated and run through `FXBlurView`.\n\n## Example\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\n## Requirements\n\niOS 7.0 or higher.\n\n## Installation\n\nParallaxBlur is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n    pod \"ParallaxBlur\"\n\n## Author\n\npyro2927, joseph@pintozzi.com\n\n## License\n\nParallaxBlur is available under the MIT license. See the LICENSE file for more info.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyro2927%2Fparallaxblur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyro2927%2Fparallaxblur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyro2927%2Fparallaxblur/lists"}