JWFolders is a class that attempts to mimic the folder animation present on the iOS SpringBoard.
JWFolders is being used in my commercial application, QuickWeather. Depicted here is a beta version of the app:
Just include the entire folder,
JWFolders, in your project. Import
JWFolders.h in the class in which you wish to create the folder.
Here's a quick example of how to create a new folder and open it upwards.
JWFolders *folder = [JWFolders folder]; folder.contentView = self.sampleFolder.view; folder.containerView = self.view; folder.position = openPoint; folder.direction = JWFoldersOpenDirectionUp; folder.contentBackgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"noise"]]; folder.shadowsEnabled = YES; folder.showsNotch = YES; [folder open]; // opens the folder.
An issue can arise if the folder is set to show the notch, and the
position is set to a point with an x-coordinate of 0. The notch will appear to be cut off on the left side of the screen. This can be simply resolved by providing a non-zero x-coordinate. Most likely this will be the center of the item from which you present the folder.
Please check the header file for complete documentation.
The project currently uses Automatic Reference Counting, which means that if your project does not use ARC there will be memory leaks. There are no plans to create a non-ARC branch at this time.
This library makes use of
renderInContext: method to render the current state of your view into an image. Unfortunately,
renderInContext: does not take 3D transforms into account. If you would like this to be fixed, please file a radar.
JWFolders is licensed under the BSD License.
- Finish implementing the animated notch content to complete the effect.
renderInContext:call. I fear this is impossible.
Please feel free to fork the project and improve it as much as possible!