I am a beginner, I need to know how I can put in a UIScrollView multiple pages. These pages should contain interactive elements such as buttons,video and also text and image
Sounds like page control is the one that you are looking for.
Here is the link with sample code: LiNk
pagingEnabled property to YEScontentSizeproperty X * width wide if you want horizontal paging or `X * height' tall if you want vertical paging.X is a number of pages, starting with 0.
Here is a sample with 5 horizontal pages.
int numberOfPages = 5;
UIScrollView *someScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
someScrollView.pagingEnabled = YES;
someScrollView.contentSize = CGSizeMake(numberOfPages * someScrollView.frame.size.width, someScrollView.frame.size.height);
[self.view addSubview:someScrollView];
[someScrollView release];
for (int i = 0; i < numberOfPages; i++) {
UILabel *tmpLabel = [[UILabel alloc] initWithFrame:CGRectMake(i * someScrollView.frame.size.width + 20,
20,
someScrollView.frame.size.width - 40,
20)];
tmpLabel.textAlignment = UITextAlignmentCenter;
tmpLabel.text = [NSString stringWithFormat:@"This is page %d", i];
[someScrollView addSubview:tmpLabel];
[tmpLabel release];
}
You need to set 2 properties on your UIScrollView in order to have a smooth paging scroll.
[scroller setPagingEnabled:YES];
[scroller setContentSize:CGSizeMake(width, height)];
/* width here would be your view's width times the amount of pages you want. */