Я создал прокручиваемый контроллер просмотра страниц, но не могу отобразить точки / панели.Насколько я понимаю, это должно присутствовать по умолчанию, если для параметра «Навигация» установлено значение «Горизонтально», а для стиля перехода - «Прокрутка», но ничего не отображается.
Затем я добавил некоторый дополнительный код для добавления и стилизации точек, но все равно ничего.Вот мой код в его нынешнем виде:
import UIKit
class Swipable_Images: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate{
var pages = [UIViewController]()
var pageControl = UIPageControl()
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
self.dataSource = self
configurePageControl()
let p1: UIViewController! = storyboard?.instantiateViewController(withIdentifier: "stop1_image1")
let p2: UIViewController! = storyboard?.instantiateViewController(withIdentifier: "stop1_image2")
pages.append(p1)
pages.append(p2)
setViewControllers([p1], direction: UIPageViewController.NavigationDirection.forward, animated: false, completion: nil)
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController)->UIViewController?{
let cur = pages.index(of: viewController)!
let prev = abs((cur - 1) % pages.count)
return pages[prev]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController)->UIViewController?{
let cur = pages.index(of: viewController)!
let nxt = abs((cur+1) % pages.count)
return pages[nxt]
}
func presentationIndex(for pageViewController: UIPageViewController) -> Int {
return pages.count
}
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool){
let pageContentViewController = pageViewController.viewControllers![0]
self.pageControl.currentPage = pages.index(of: pageContentViewController)!
}
//Swipe Indicator Bar
func configurePageControl(){
pageControl = UIPageControl(frame: CGRect(x: self.view.center.x, y: self.view.center.y, width: UIScreen.main.bounds.width, height: 50))
self.pageControl.numberOfPages = pages.count
self.pageControl.currentPage = 0
self.pageControl.tintColor = UIColor.black
self.pageControl.pageIndicatorTintColor = UIColor.white
self.pageControl.currentPageIndicatorTintColor = UIColor.black
self.view.addSubview(pageControl)
}
}
Я даже пошел дальше и создал новый контроллер просмотра пустых страниц для тестирования без кода вообще.Я просто установил навигацию по горизонтали и переход к прокрутке и больше ничего.Нет кода или возни с ним.Я использовал определяемый пользователем атрибут времени выполнения, чтобы установить цвет фона на случайный синий, чтобы я мог видеть панель навигации / точки, если она была там, но я все еще ничего не получаю.
Чего мне не хватает?