UIPageController в сочетании с UIPageControl?

Я использую UIPageController для навигации между разными контроллерами. Теперь я хотел бы добавить эти точки внизу, чтобы пользователь мог видеть, на каком контроллере он находится. Это достигается с помощью UIPageControl. Есть ли простой способ объединить эти два?


person MegaManX    schedule 16.10.2012    source источник


Ответы (2)


Из нижней части UIPageViewController.h (iOS6+) ~

Индикатор страницы будет виден, если реализованы оба метода, стиль перехода — «UIPageViewControllerTransitionStyleScroll», а ориентация навигации — «UIPageViewControllerNavigationOrientationHorizontal». Оба метода вызываются в ответ на вызов setViewControllers:..., но в случае навигации с помощью жестов индекс представления обновляется автоматически.

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

В противном случае, я думаю, вам нужно добавить UIPageControl к вашему UIPageViewController и в основном связать их вместе, чтобы синхронизировать их... но тогда вам придется выполнять все связывания вручную.

person Kaolin Fire    schedule 24.12.2012
comment
stackoverflow.com/questions/8400870/ Вероятно, это то, что вы ищете? - person Kaolin Fire; 30.07.2014

Если вы используете шаблон приложения Xcode на основе страниц, перейдите в инспектор атрибутов и установите для свойства Transiton style значение Scroll.

и перейдите в файл приложения AppDelegate.m и установите цвет оттенка для

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

Для шаблона Xcode на основе страницы он уже есть для iOS 6, iOS 7, только его цвет установлен на белый.

person ProgrammingNinja    schedule 30.11.2013