AQGridView icon indicating copy to clipboard operation
AQGridView copied to clipboard

scrollToItemAtIndex issue when using Horizontal AQGridView

Open pip8786 opened this issue 13 years ago • 0 comments

The grid view won't scroll to an item that is to the left or right of the visible portion.

Here's a fix I used:

case AQGridViewScrollPositionTop: 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:
        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:
        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;

pip8786 avatar Sep 30 '11 20:09 pip8786