To use Werner Altewischer class add PagedViewDelegate to interface and complete your class as shown below:
@interface ViewController (){
//header view
UIPageControl* headPageControl;
UIScrollView* headScrollView;
PagedView* headerView;
NSMutableArray* headerViews;
}
//header view
-(void)initHeader;
-(void)setHeaderViews:(NSMutableArray*)views;
-(void)addHeaderView:(UIView*)view;
-(void)popHeader;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self initHeader];
[self popHeader];
}
-(void)initHeader
{
float frameWidth = self.view.frame.size.width;
headPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, HEADER_HEIGHT-PAGE_CONTROL_HEIGHT, frameWidth, PAGE_CONTROL_HEIGHT)];
[headPageControl setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.5]];
headerViews = [NSMutableArray array];
headScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, frameWidth, HEADER_HEIGHT)];
headScrollView.showsHorizontalScrollIndicator = NO;
headerView = [[PagedView alloc] initWithFrame:CGRectMake(0, 0, frameWidth, HEADER_HEIGHT)];
headerView.delegate = self;
headerView.pageControl = headPageControl;
headerView.scrollView = headScrollView;
[headerView addSubview:headScrollView];
[headerView addSubview:headPageControl];
[headerView setBackgroundColor:[UIColor darkGrayColor]];
[self.view addSubview:headerView];
}
-(NSUInteger)numberOfPagesInPagedView:(PagedView *)view
{
//NSLog(@"number of pages %i", headPageControl.numberOfPages);
return headPageControl.numberOfPages;
}
-(UIView*)pagedView:(PagedView *)view viewForPageAtIndex:(NSUInteger)page
{
//NSLog(@"open page %i", page);
return [headerViews objectAtIndex:page];
}
-(void)setHeaderViews:(NSMutableArray*)views
{
headerViews = views;
headPageControl.numberOfPages = headerViews.count;
}
-(void)addHeaderView:(UIView*)view
{
[headerViews
answered 2012-10-18T12:39:19.963