У меня есть очень конкретный прецедент, который мне интересно, с кем общался. Я хочу добавить кнопку «Продолжить» в свой первый пользовательский интерфейс UIPageViewController. Эта статья (Swift iOS: how to trigger next page using buttons) касается, если вы хотите, чтобы она была на каждой странице, но я не планирую ее использовать.Как продвигать страницу в uipageviewcontroller с uibutton на uiviewcontroller/раскадровке
У меня есть UIPageViewController и 6 viewcontrollers, с которыми я в настоящее время могу перемещаться путем прокрутки.
Я попытался подключить кнопку к контроллеру вида в виде segue, но представляет ее за пределами PageViewController. Я думал о попытке просто нажать правой кнопкой мыши на щелчок кнопки, но я не мог уйти от этой фигуры.
У кого-нибудь есть идея, как атаковать установку одной кнопки на одном из контроллеров представления и заставить ее перейти к следующему контроллеру представления в UIPageViewController?
Это было отмечено как дубликатное, но дубликатов по этому вопросу нет. Есть немного похожих, но ничего подобного. Если есть, укажите его. В настоящее время связанная версия представляет собой obj-c ответ на аналогичный вопрос без объяснения того, как связать нужную функцию с контроллером представления. Этот ответ я могу реализовать как глобальную кнопку легко, но одна кнопка контроллера просмотра не покрывается им.
Благодаря
Редактировать для окончательного решения кода.
Так это было два части решения закодировано в быстром 3.
В расширении источника данных uipageviewcontroller, то FUNC, чтобы перевернуть страницу был построен следующим образом.
func goNextPage() {
let cur = self.viewControllers![0]
let p = self.pageViewController(self, viewControllerAfter: cur)
self.setViewControllers([p!], direction .forward, animated: true, completion: nil)
}
Кусок в отдельном контроллере представления строится следующим образом
@IBAction func nextPageButtonWasTapped(_ sender: Any) {
var candidate: UIViewController = self
while true {
if let pageViewController = candidate as? MyUIPageViewController {
pageViewController.goNextPage()
break
}
guard let next = parent else { break }
candidate = next
}
}
Действительно ли ваш вопрос имеет какое-либо отношение к 'UIPageControl', или это ошибка в вашем названии? –
Извините, что отредактировал uipageviewcontroller –
Посмотрите, если [this] (http://stackoverflow.com/questions/11938149/turn-page-programmatically-in-uipageviewcontroller-when-using-uipageviewcontroll) отвечает на ваш вопрос. –