Search code examples
iphoneios5uiscrollviewuiimageview

iOS - UIScrollView is not working (it doesn't scroll at all - the image stays fixed)


I would like to display an image (width: 320 pixels, height: 1250 pixels) in an image view.

When I compile the application I get no scrolling at all. The view stays fixed.

What I did:

  1. Added an UIScrollView via Interface Builder to my view.
  2. Added an UIImageView via Interface Builder to my view.
  3. Verified that UIImageView is below UIScrollView in Interface Builder.
  4. Set the size of the UIScrollView with ViewDidLoad.

How do I do this?

Code:

- (void)viewDidLoad
{
    [super viewDidLoad];
    scrollView.contentSize = CGSizeMake(320, 1250);
}

Screenshots:

ImageView:

Enter image description here

ScrollView:

Enter image description here Enter image description here

Enter image description here


Solution

  • I just have done the same task.. Try this one.....

    scrollView.delegate = self;
    scrollView.scrollEnabled = YES;
    
    int scrollWidth = 120;
    scrollView.contentSize = CGSizeMake(scrollWidth,80);     
    
    
    int xOffset = 0;
    imageView.image = [UIImage imageNamed:[imagesName objectAtIndex:0]];
    
    for(int index=0; index < [imagesName count]; index++)
    {       
        UIImageView *img = [[UIImageView alloc] init];
        img.bounds = CGRectMake(10, 10, 50, 50);
        img.frame = CGRectMake(5+xOffset, 0, 50, 50);
        NSLog(@"image: %@",[imagesName objectAtIndex:index]);
        img.image = [UIImage imageNamed:[imagesName objectAtIndex:index]];
        [images insertObject:img atIndex:index];         
        scrollView.contentSize = CGSizeMake(scrollWidth+xOffset,110); 
        [scrollView addSubview:[images objectAtIndex:index]];
    
        xOffset += 70;
    }
    

    Also set this one....

    imagesName = [[NSArray alloc]initWithObjects:@"image1.jpg",@"image2.jpg",@"image3.jpg",@"image4.jpg",@"image5.jpg",@"image6.png",@"image7.png",@"image9.png",nil];
        images = [[NSMutableArray alloc]init];