Lakan Bahande
Lakan Bahande

Reputation: 165

Objective C: Zooming UIScrollView Properly

I am having issues with my scrollview whenever i zoom the view. When i zoom the view it is automatically positioned on the upper left corner. What i want to do is the view to stay where it is positioned once it is moved.

Here's my code:

    mainSV = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    [mainSV setPagingEnabled:YES];
    [mainSV setDelegate:self];
    [mainSV setShowsVerticalScrollIndicator:NO];
    [mainSV setShowsHorizontalScrollIndicator:NO];
    [mainSV setScrollEnabled:YES];
    [mainSV setUserInteractionEnabled:YES];
    [mainSV setMaximumZoomScale:2.0];
    [mainSV setMinimumZoomScale:1.0];
    [mainSV setMultipleTouchEnabled:YES];
    [mainSV setClipsToBounds:YES];
    [mainSV setContentSize:CGSizeMake(768, 1024)];
    [self.view addSubview:mainSV];

    innerSV = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    [innerSV setPagingEnabled:YES];
    [innerSV setDelegate:self];
    [innerSV setShowsVerticalScrollIndicator:NO];
    [innerSV setShowsHorizontalScrollIndicator:NO];
    [innerSV setScrollEnabled:YES];
    [innerSV setUserInteractionEnabled:YES];
    [innerSV setClipsToBounds:YES];
    [innerSV setContentSize:CGSizeMake(768*numOfPages, 1024)];
    [mainSV addSubview:innerSV];

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)aScrollView {

    return innerSV;
}

InnerSV is also a UIScrollView that holds all the images in my app.

Upvotes: 0

Views: 379

Answers (1)

George
George

Reputation: 4029

The problem is created by the innerSV scrollview paging. Set it to FALSE and it should work.

Cheers!

Upvotes: 1

Related Questions