From 401cfa83feaa176299721a6d95cafddc4cc50a61 Mon Sep 17 00:00:00 2001 From: Stewart Haines Date: Mon, 3 Sep 2012 13:47:05 +1000 Subject: [PATCH 1/2] adds horizontal case for scrollToItemAtIndex code provided in issue #88 by pip8786 https://github.com/AlanQuatermain/AQGridView/issues/88 --- Classes/AQGridView.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Classes/AQGridView.m b/Classes/AQGridView.m index 3f62735..d66e75d 100755 --- a/Classes/AQGridView.m +++ b/Classes/AQGridView.m @@ -785,15 +785,27 @@ - (void) scrollToItemAtIndex: (NSUInteger) index atScrollPosition: (AQGridViewSc break; case AQGridViewScrollPositionTop: - targetRect.origin.y = gridRect.origin.y; // set target y origin to cell's y origin + if (self.layoutDirection == AQGridViewLayoutDirectionHorizontal) { + targetRect.origin.x = gridRect.origin.x; + } else { + targetRect.origin.y = gridRect.origin.y; // set target y origin to cell's y origin + } break; case AQGridViewScrollPositionMiddle: - targetRect.origin.y = MAX(gridRect.origin.y - (CGFloat)ceilf((targetRect.size.height - gridRect.size.height) * 0.5), 0.0); + if(self.layoutDirection == AQGridViewLayoutDirectionHorizontal ) { + targetRect.origin.x = MAX(gridRect.origin.x - (CGFloat)ceilf((targetRect.size.width - gridRect.size.width) * 0.5), 0.0); + } else { + targetRect.origin.y = MAX(gridRect.origin.y - (CGFloat)ceilf((targetRect.size.height - gridRect.size.height) * 0.5), 0.0); + } break; case AQGridViewScrollPositionBottom: - targetRect.origin.y = MAX((CGFloat)floorf(gridRect.origin.y - (targetRect.size.height - gridRect.size.height)), 0.0); + if (self.layoutDirection == AQGridViewLayoutDirectionHorizontal) { + targetRect.origin.x = MAX((CGFloat)floorf(gridRect.origin.x - (targetRect.size.width - gridRect.size.width)), 0.0); + } else { + targetRect.origin.y = MAX((CGFloat)floorf(gridRect.origin.y - (targetRect.size.height - gridRect.size.height)), 0.0); + } break; } From 8c914d332b6910d22d26eac37c7db6b057368d7c Mon Sep 17 00:00:00 2001 From: Stewart Haines Date: Mon, 3 Sep 2012 14:38:02 +1000 Subject: [PATCH 2/2] updates project file to build for armv6, armv7 architectures --- AQGridView.xcodeproj/project.pbxproj | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/AQGridView.xcodeproj/project.pbxproj b/AQGridView.xcodeproj/project.pbxproj index 0bc5741..45f138c 100644 --- a/AQGridView.xcodeproj/project.pbxproj +++ b/AQGridView.xcodeproj/project.pbxproj @@ -283,7 +283,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + armv6, + armv7, + ); CLANG_ENABLE_OBJC_ARC = YES; COPY_PHASE_STRIP = NO; DSTROOT = /tmp/AQGridView.dst; @@ -305,7 +308,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + armv6, + armv7, + ); CLANG_ENABLE_OBJC_ARC = YES; DSTROOT = /tmp/AQGridView.dst; GCC_MODEL_TUNING = G5;