Я реализую простой контроллер просмотра галереи, где приложение отображает небольшой диапазон полноэкранных изображений, которые пользователь может прокручивать. Я использую UIPageViewController, который, как я думал, должен автоматически отображать индикаторы страницы, если я реализую правильные функции источника данных. Однако я все еще не вижу никаких индикаторов.Swift/iOS8: Почему индикаторы контроля страниц не отображаются?
В моей главной GalleryViewController
:
class GalleryViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var pageController: UIPageViewController?
var pageContent = NSArray()
override func viewDidLoad() {
super.viewDidLoad()
.... some code to load images into the pageContent array ....
pageController = UIPageViewController(transitionStyle:.Scroll, navigationOrientation:.Horizontal,options:nil)
pageController?.delegate = self
pageController?.dataSource = self
... some more standard code to add the page controller to self.view etc.
var pageControl = UIPageControl.appearance()
pageControl.pageIndicatorTintColor = UIColor.lightGray()
pageControl.currentPageIndicatorTintColor = UIColor.whiteColor()
pageControl.backgroundColor = UIColor.blackColor()
pageController!.didMoveToParentViewController(self)
}
func viewControllerAtIndex(index:Int) -> ContentViewController? {
....
}
Я реализовал два обязательных методов протокола viewControllerBeforeViewController и viewControllerAfterController, а также два обязательных для них подкачки, presentationCountForPagesViewController и presentationIndexForPageViewController.
У меня ContentViewController
есть UIImageView
, который заполняет весь экран. Однако даже когда я уменьшаю его размер в нижней части экрана, я не вижу никаких индикаторов на странице. Я что-то пропустил? Дайте мне знать, если я не предоставил достаточную информацию. Я пытался переписать старое приложение, которое я закодировал в Objective-C более 5 лет назад - полностью в Swift для iOS8 и Xcode и т. Д. Так сильно изменилось, что это сбивает с толку. Спасибо!
Я сделал именно это - до сих пор не отображается. –
Я положил инструкцию println для отладки внутри моего метода presentationCountForPageViewController и никогда не вызывается. Может быть, поэтому мои счетчики страниц не отображаются, но почему он не вызван? Является ли счетчик страниц автоматически создан с помощью UIPageViewController? –
Вы никогда не добавляете pageController.view как подзаголовок self.view. – jrc