Alex Rivera | Logout

How to lock the horizontal scrolling of a scrollView in iOS

Asked 2011-03-11T10:07:18.227
27

i have a scrollView. i want it to scroll only in one direction(VERTICAL). Is there a way in which i can lock the horizontal scrolling...?? ...

Edit
Report

1 Answer

26

Same (adapted) answer for you as in:

Disabling vertical scrolling in UIScrollView

right, all answers here are ok...

but if for some strange reason your contentSize should be higher than the UIScrollView in both dimensions, you can disable the horizontal scrolling implementing the UIScrollView protocol method -(void)scrollViewDidScroll:(UIScrollView *)aScrollView

just add this in your UIViewController

float oldX; // here or better in .h interface

- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
    [aScrollView setContentOffset: CGPointMake(oldX, aScrollView.contentOffset.y)];
    // or if you are sure you wanna it always on left:
    // [aScrollView setContentOffset: CGPointMake(0, aScrollView.contentOffset.y)];
}

it's just the method called when the user scroll your UIScrollView, and doing so you force the content of it to have always the same .x

answered 2011-03-11T11:05:26.633

Your Answer