2012-10-16 13 views
16

Ho utilizzato UIPageController per spostarmi tra diversi controller. Ora vorrei aggiungere i punti in fondo, in modo che l'utente possa vedere su quale controller si trova. Questo viene raggiunto tramite UIPageControl. C'è un modo semplice per combinare questi due?UIPageController in combinazione con UIPageControl?

risposta

27

Dal profondo del UIPageViewController.h (iOS6 +) ~

Un indicatore pagina sarà visibile se sono implementate entrambi i metodi, lo stile di transizione è 'UIPageViewControllerTransitionStyleScroll', e l'orientamento di navigazione è 'UIPageViewControllerNavigationOrientationHorizontal'. Entrambi i metodi vengono chiamati in risposta a una chiamata 'setViewControllers: ...', ma l'indice di presentazione viene aggiornato automaticamente nel caso di navigazione gestita da gesti.

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0); // The number of items reflected in the page indicator. 
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0); // The selected item reflected in the page indicator. 

In caso contrario, penso che è necessario aggiungere un UIPageControl al vostro UIPageViewController e fondamentalmente legarli insieme per tenerli in sincronia ..., ma poi si ha a che fare tutto il legatura manualmente.

+0

Come ottenere la pagina corrente per impostarlo manualmente –

+0

http://stackoverflow.com/questions/8400870/uipageviewcontroller-return-the-current-visible-view è probabilmente quello che stai cercando? –

10

Se si utilizza il modello di applicazione basato su pagina di Xcode, andare a Ispettore attributi e impostare la proprietà di stile Transiton su Scroll.

e andare al file AppDelegate.m applicazione e impostare il colore della tinta per la

UIPageControl *pageControl = [UIPageControl appearance]; 
    pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; 
    pageControl.currentPageIndicatorTintColor = [UIColor blackColor]; 
    pageControl.backgroundColor = [UIColor whiteColor]; 

Per il modello di Xcode pagina basata la sua già loro per iOS 6, iOS 7 solo il suo colore è impostato su bianco.

Problemi correlati