2010-01-14 28 views
12

Me gustaría agregar un elemento UIPageControl programáticamente a mi vista Controlador. La propiedad self.view contiene un UIScrollView con las siguientes propiedades:Agregar PageControl mediante programación

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; 

Hasta ahora todo bien. Ahora quería añadir un elemento PageControl añadiendo este (unas pocas líneas más adelante):

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

El elemento PageControl se sintetiza mediante el @property y @synthesize. Sin embargo, esto no muestra nada, incluso si agrego un [self.view addSubview: pageControl];

¿Alguna idea de por qué esto no funciona?

+3

Did se ejemplariza un nuevo control a la página de [[UIPageControl alloc] init ...]? @ property/@ sintetizar no lo creará para usted. – Nimrod

+0

Gracias, acabo de darme cuenta de esto también. Publicaré la solución que utilicé. – Robin

Respuesta

34

Gracias al comentario de Nimrod que tenían la idea correcta, aquí es cómo funcionaba (bastante obvio ahora que mi versión no :))

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