2010-01-14 12 views
12

Je voudrais ajouter un élément UIPageControl par programmation à mon contrôleur de vue. La propriété self.view contient un UIScrollView avec les propriétés suivantes:Ajouter PageControl par programme

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; 

Jusqu'ici tout va bien. Maintenant, je voulais ajouter un élément de PageControl en ajoutant ceci (quelques lignes plus loin):

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

L'élément PageControl est synthétisé en utilisant la @property et @synthesize. Cependant, cela n'affiche rien, même si j'ajoute un [self.view addSubview: pageControl];

Des idées pour lesquelles cela ne fonctionne pas?

+3

Avez-vous instancier un nouveau contrôle de la page à la [[UIPageControl alloc] init ...]? @ property/@ synthesize ne le crée pas pour vous. – Nimrod

+0

Merci, je viens de le réaliser aussi. Je posterai la solution que j'ai utilisée. – Robin

Répondre

34

Merci au commentaire de Nimrod moi avons eu la bonne idée, voici comment cela a fonctionné (assez évident maintenant que ma version échoué :))

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