Search code examples
iphonecocoa-touch

How do I stop a UIScrollView from bouncing horizontally?


I have a UIScrollView that shows vertical data, but where the horizontal component is no wider than the screen of the iPhone. The problem is that the user is still able to drag horizontally, and basically expose blank sections of the UI. I have tried setting:

scrollView.alwaysBounceHorizontal = NO;
scrollView.directionalLockEnabled = YES;

Which helps a little, but still doesn't stop the user from being able to drag horizontally. Surely there is a way to fix this easily?


Solution

  • That's strange, because whenever I create a scroll view with frame and content size within the bounds of the screen on either dimension, the scroll view does not scroll (or bounce) in that direction.

    // Should scroll vertically but not horizontally
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    scrollView.contentSize = CGSizeMake(320, 1000);
    

    Are you sure the frame fits completely within the screen and contentSize's width is not greater than the scroll view's width?