bri

BrickView

BrickView is a simple dynamic grid layout view like Pinterest or Esty.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

40

Maintenance

Last Commit

3yrs ago

Contributors

1

Package

Dependencies

0

License

MIT

Categories

Readme

BrickView Build Status

BrickView is a simple dynamic grid layout view for iOS like Pinterest. usage of BrickView is like UITableViewDelegate and UITableViewDatasource.

This package has all the documentation and demos to get you started.

screen

Installation

There are two ways to use this in your project:

  • Copy BrickView/*.{h.m} into your project

  • Install with CocoaPods to write Podfile

platform :ios
pod 'BrickView'

Usage

Set Delegate, DataSource

BrickView uses a simple methodology. It defines a delegate and a data source, its client implement. BrickViewDelegate and BrickViewDataSource are like UITableViewDelegate and UITableViewDatasource. BrickViewDelegate has UIScrollViewDelegate's protocol.

Reload

Reset cells and redisplays visible cells.

- (void)reloadData;

Update

If BrickView doesnt reset visible cells and displays new cells, uses updateData.

- (void)updateData;

Example

  • import BrickView.h
  • implement BrickViewDataSource and BrickViewDelegate's methods
  • register UINib's object with idenfiter for re-use

UIViewController



#import "BrickView.h"

@interface ExampleViewController ()

<BrickViewDataSource, BrickViewDelegate>

@end

@implementation ExampleViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    BrickView *brickView = [[BrickView alloc]initWithFrame:self.view.bounds];
    brickView.dataSource = self;
    brickView.delegate = self;

    UINib *nib = [UINib nibWithNibName:@"Cell" bundle:nil];
    [self.brickView registerNib:nib forCellReuseIdentifier:@"Cell"];
    [self.brickView reloadData];
}

- (CGFloat)brickView:(BrickView *)brickView heightForCellAtIndex:(NSInteger)index
{
    return 100.;
}

- (NSInteger)numberOfColumnsInBrickView:(BrickView *)brickView
{
    return 3;
}

- (NSInteger)numberOfCellsInBrickView:(BrickView *)brickView
{
    return [self.list count];
}

- (BrickViewCell *)brickView:(BrickView *)brickView cellAtIndex:(NSInteger)index
{
    static NSString *CellIdentifier = @"Cell";
    BrickViewCell *cell = [brickView dequeueReusableCellWithIdentifier:CellIdentifier];

    cell.textLabel.text = @"text";

  return cell;
}

License

BrickView is available under the MIT license.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100