Я пытаюсь изменить текущий ViewController моего UIPageViewController с помощью кнопки NEXT. Поэтому я вызываю функцию, которая находится в моем containerterViewController в моем mainViewController, используя делегата. Но он не выполняет строку setViewControllers.
Здесь вы можете увидеть мой код:
Это метод, который я вызываю с использованием моего делегата:
func forwardPage() {
print("Start")
currentPage += 1
print(vcs[currentPage])
self.setViewControllers([vcs[currentPage]], direction: .forward, animated: true) { (true) in
print("Done")
}
}
Вот мой делегат:
protocol WalkthroughViewControllerDelegate {
func forwardPage()
func currentIndex() -> Int
}
А вот функция, которая связана с моей следующей кнопкой:
@IBAction func nextButtonTapped(_ sender: Any) {
if let index = delegate?.currentIndex() {
print("Here... \(index)")
switch index {
case 0...1:
print("Forwarding...")
delegate?.forwardPage()
case 2:
dismiss(animated: true, completion: nil)
default: break
}
}
updateUI()
}
Все, кроме "Готово" печатается
Буду очень признателен за вашу помощь
Я боролся из-за этого уже довольно давно
Большое спасибо:)
EDIT: возможно, это происходит потому, что UIPageViewController находится внутри контейнера. Но я не уверен
ВТОРОЕ РЕДАКТИРОВАНИЕ: Я создал хранилище git-hub только для этой проблемы. Вот ссылка: https://github.com/LennartPhil/App-Popup-Screen. Я надеюсь, вы понимаете, что я не покажу вам все мои файлы.