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 YES
contentSize
property 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. */