Easily Create Dynamic Grids that look like Pinterest's Interface!
MasonryView is a super easy to use layout component to create dynamic grids of cells with varying dimensions. Just watch the video below to see it in action.
What's new in v1.76?
- Added iOS6 support.
- Fixed namespace collisions.
- Easily create dynamic grids of cells with varying heights and number of columns.
- Supports both landscape and portrait modes and automatically aligns cells when orientation changes.
- Built-in paging functionality similar to TweetBot's (drag to reload)
- Supports both horizontal and vertical scrolling modes.
- Ability to fully customize cell designs.
- Ability to change the number of columns displayed.
- Ability to add a header view just like you do with a UITableView
- High performance with even thousands of cells.
- Ability to add a header view on top of the grid view. Similar to how you do with UITableViews.
- Can be used both for iPhone and iPad projects.
- Supports ARC and non-ARC
- Includes demo app XCode Project!
- No external libraries are required to use core SEMasonryView.
- For custom cells the library AFNetworking (MIT Licensed) is used.
- Demo app uses JSONKit library. (MIT Licensed)
1. Drag folder named SEMasonryView.framework into your XCode project's Frameworks folder
2. Add -all_load and -ObjC to Other Linker Flags under your project's Build Settings.
3. Add this line in your imports section
4. Create a SEMasonryView and add it to your app
SEMasonryView *masonryView = [[SEMasonryView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
masonryView.delegate = self;
masonryView.columnWidth = 256;
masonryView.pagingEnabled = YES;
5. Add cells whenever you want!
SEMasonryCell *cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCellNib" owner:self options:nil] objectAtIndex: 0];
6. Layout items if you need to (required if orientation changes)
- SEMasonryView framework and related resources.
- Sample project demonstrating "drag to reload" style paging and orientation changes.
- External libraries required for demo app.