Add PageControl programmatically

Robin picture Robin · Jan 14, 2010 · Viewed 24.8k times · Source

I would like to add a UIPageControl item programmatically to my view Controller. The self.view property contains a UIScrollView with the following properties:

scrollView = [[UIScrollView alloc] initWithFrame:applicationFrame];
scrollView.backgroundColor = [UIColor blackColor];
scrollView.maximumZoomScale = 1.0;
scrollView.minimumZoomScale = 1.0;
scrollView.clipsToBounds = YES;
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.pagingEnabled = YES;
self.view = scrollView;

So far so good. Now I wanted to add a PageControl element by adding this (a few lines later):

pageControl.numberOfPages = 2;
pageControl.currentPage = 0;

The pageControl element is synthesized using the @property and @synthesize. However, this does not display anything, even if I add a [self.view addSubview:pageControl];

Any ideas why this is not working?

Answer

Robin picture Robin · Jan 14, 2010

Thanks to the comment from Nimrod I had the right idea, here is how it worked (rather obvious now that my version failed :))

// Init Page Control
pageControl = [[UIPageControl alloc] init];
pageControl.frame = CGRectMake(x, y, xx, yy);
pageControl.numberOfPages = 2;
pageControl.currentPage = 0;
[self.view addSubview:pageControl];