2012-10-16 6 views
16

Ich habe UIPageController verwendet, um zwischen verschiedenen Controllern zu navigieren. Nun möchte ich die Punkte unten hinzufügen, damit der Benutzer sehen kann, auf welchem ​​Controller er sich befindet. Dies wird über UIPageControl erreicht. Gibt es eine einfache Möglichkeit, diese beiden zu kombinieren?UIPageController in Verbindung mit UIPageControl?

Antwort

27

Von der Unterseite UIPageViewController.h (iOS6 +) ~

Eine Seitenindikator sichtbar ist, wenn beide Methoden implementiert werden, ist Übergangsstil ‚UIPageViewControllerTransitionStyleScroll‘ und Navigationsorientierung ‚UIPageViewControllerNavigationOrientationHorizontal‘. Beide Methoden werden als Reaktion auf einen Aufruf 'setViewControllers: ...' aufgerufen, aber der Präsentationsindex wird bei einer gestengesteuerten Navigation automatisch aktualisiert.

- (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. 

Ansonsten denke ich, Sie brauchen eine UIPageControl zu Ihrem UIPageViewController hinzufügen und sie im Grunde zusammen binden sie synchron zu halten ... aber dann alles, was Sie tun müssen, tun die manuell zu binden.

+0

So erhalten Sie die aktuelle Seite, um es manuell festzulegen –

+0

http://stackoverflow.com/questions/8400870/uipageviewcontroller-return-the-current-visible-view ist wahrscheinlich das, was Sie suchen? –

10

Wenn Sie die seitenbasierte Anwendungsvorlage von Xcode verwenden, gehen Sie zu Attribut-Inspektor und legen Sie die Eigenschaft Transitontstil auf Blättern fest.

und gehen Sie zu Ihrer Anwendung AppDelegate.m Datei und stellen Sie den Farbton Farbe für die

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

Für die Seite basierend Xcode Vorlage seiner bereits ihre für iOS 6, iOS 7 nur seine Farbe auf weiß gesetzt.

Verwandte Themen