Я реализую простой контроллер просмотра галереи, где приложение отображает небольшой диапазон полноэкранных изображений, которые пользователь может прокручивать. Я использую UIPageViewController, который, как я думал, должен автоматически отображать индикаторы страницы, если я реализую правильные функции источника данных. Однако я все еще не вижу никаких индикаторов.
В моем основном 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 и т.д. Так сильно изменилось, что это сбивает с толку. Благодарю!