iphoneipaduiscrollviewhorizontal-scrolling

How to lock the horizontal scrolling of a scrollView in iOS


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...?? ...


Solution

  • 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