Buradan çıkmak, tanımlı bir protokolü kullanmak ve görüntüleme denetleyicilerini programlı olarak değiştirmek isteyen herhangi biri kullanmak isteyebilir.
@objc protocol AppWalkThroughDelegate {
@objc optional func goNextPage(forwardTo position: Int)
@objc optional func goPreviousPage(fowardTo position: Int)
}
yukarıdaki protokolünü kullanın ve görünümü denetleyicileri arasındaki navigasyonu yönetmek için kök UIPageViewController için onaylayın.
aşağıda Örnek:
class AppWalkThroughViewController: UIPageViewController, UIPageViewControllerDataSource, AppWalkThroughDelegate {
// Add list of view controllers you want to load
var viewControllerList : [UIViewControllers] = {
let firstViewController = FirstViewController()
let secondViewController = SecondViewController()
// Assign root view controller as first responder
secondViewController.delegate = self
let thirdViewController = ThirdViewController()
}
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
}
// Navigate to next page
func goNextPage(fowardTo position: Int) {
let viewController = self.viewControllerList[position]
setViewControllers([viewController], direction:
UIPageViewControllerNavigationDirection.forward, animated: true, completion: nil)
}
}
kez bütün bu elde, temsilci emlak üzerine belirli sayıda geçirerek AppWalkThroughDelegate yöntemlerini kullanabilirsiniz sonraki veya önceki sayfaya UIPageViewController hamle yapmak gerekir çocuk görünümü denetleyicileri.
Örnek altında : düğmesi
class SecondViewController: UIViewController {
var delegate: AppWalkThroughDelegate!
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
}
@IBAction func goNextPage(_ sender: Any) {
// Can be any number but not outside viewControllerList bounds
delegate.goNextPage!(fowardTo: 2)
}
}
preslenmiş kez Delege yöntem çağrıldığında
[? Mümkün UIPageViewController içinde programlı sayfayı çevirin mı] olası yinelenen (http://stackoverflow.com/questions/7208871/is -it-için-dönüş-sayfa-program-içinde-uipageviewcontroller) –