2012-10-16 11 views
16

Używam UIPageController do nawigacji pomiędzy różnymi kontrolerami. Teraz chciałbym dodać te kropki u dołu, aby użytkownik mógł zobaczyć, na którym kontrolerze jest. Osiąga się to poprzez UIPageControl. Czy istnieje prosty sposób na połączenie tych dwóch elementów?UIPageController w połączeniu z UIPageControl?

Odpowiedz

27

Od spodu UIPageViewController.h iOS6 (+) ~

wskaźnik strony będzie widoczne, jeśli oba sposoby są implementowane w stylu przejście jest „UIPageViewControllerTransitionStyleScroll” i orientacja nawigacji „UIPageViewControllerNavigationOrientationHorizontal”. Obie metody są wywoływane w odpowiedzi na wywołanie "setViewControllers: ...", ale indeks prezentacji jest aktualizowany automatycznie w przypadku nawigacji sterowanej gestami.

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

W przeciwnym razie, myślę, że trzeba dodać UIPageControl do UIPageViewController iw zasadzie powiązać je ze sobą, aby utrzymać je w synchronizacji ... ale wtedy trzeba robić wszystko wiązana ręcznie.

+0

Jak uzyskać bieżącą stronę, aby ustawić ją ręcznie? –

+0

http://stackoverflow.com/questions/8400870/uipageviewcontroller-return-turrent-visible-visible-view jest prawdopodobnie tym, czego szukasz? –

10

Jeśli używasz szablonu aplikacji opartego na stronach Xcode, przejdź do inspektora atrybutów i ustaw właściwość stylu Transiton na Przewiń.

i przejdź do pliku AppDelegate.m aplikacji i ustawić kolor odcień dla

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

dla strony na podstawie szablonu Xcode jej już ich dla iOS 6 iOS 7 tylko jego kolor jest ustawiony na biały.

Powiązane problemy