From 967793200919781b509e304cf1f8c88dc12cc1b4 Mon Sep 17 00:00:00 2001 From: Matthew Sielski Date: Wed, 14 Dec 2011 00:12:30 -0500 Subject: [PATCH] Implemented row and column spacing in grid view. Added findSpacingBetweenRows and findSpacingBetweenColumns which call optional protocol methods spacingBetweenRowsInGridView and spacingBetweenColumnsInGridView. --- DTGridView.h | 2 ++ DTGridView.m | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) mode change 100644 => 100755 DTGridView.h mode change 100644 => 100755 DTGridView.m diff --git a/DTGridView.h b/DTGridView.h old mode 100644 new mode 100755 index 2ebc1ba..edac7ec --- a/DTGridView.h +++ b/DTGridView.h @@ -183,6 +183,8 @@ struct DTOutset { - (NSInteger)findNumberOfColumnsForRow:(NSInteger)row; - (CGFloat)findHeightForRow:(NSInteger)row; - (DTGridViewCell *)findViewForRow:(NSInteger)row column:(NSInteger)column; +- (NSInteger)findSpacingBetweenRows; +- (NSInteger)findSpacingBetweenColumns; #pragma mark - #pragma mark Regular methods diff --git a/DTGridView.m b/DTGridView.m old mode 100644 new mode 100755 index 7b2b778..3be837e --- a/DTGridView.m +++ b/DTGridView.m @@ -332,6 +332,24 @@ - (CGFloat)findHeightForRow:(NSInteger)row { - (DTGridViewCell *)findViewForRow:(NSInteger)row column:(NSInteger)column { return [self.dataSource gridView:self viewForRow:row column:column]; } + +- (NSInteger)findSpacingBetweenRows { + if ([self.dataSource respondsToSelector:@selector(spacingBetweenRowsInGridView:)]) { + return [self.dataSource spacingBetweenRowsInGridView:self]; + } else { + return 0; + } +} + +- (NSInteger)findSpacingBetweenColumns { + if ([self.dataSource respondsToSelector:@selector(spacingBetweenColumnsInGridView:)]) { + return [self.dataSource spacingBetweenColumnsInGridView:self]; + } else { + return 0; + } +} + + #pragma mark - - (void)loadData { @@ -346,6 +364,9 @@ - (void)loadData { if (!self.numberOfRows) return; + cellOffset.x = [self findSpacingBetweenColumns]; + cellOffset.y = [self findSpacingBetweenRows]; + [gridRows removeAllObjects]; [rowHeights removeAllObjects]; [rowPositions removeAllObjects];