Я использую UIPageController
для навигации между разными контроллерами. Теперь я хотел бы добавить эти точки внизу, чтобы пользователь мог видеть, на каком контроллере он находится. Это достигается с помощью UIPageControl
. Есть ли простой способ объединить эти два?
UIPageController в сочетании с UIPageControl?
Ответы (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
и в основном связать их вместе, чтобы синхронизировать их... но тогда вам придется выполнять все связывания вручную.
Если вы используете шаблон приложения 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, только его цвет установлен на белый.