У меня есть экран приветствия. Я хочу, чтобы люди впервые увидели, как они запускают мое приложение, используя UIPageViewController.Я думаю, что я все реализовал правильно, но когда я тестирую его, экран гаснет и ничего не делает.может кто-нибудь помочь мне здесь?Большое спасибо!
import UIKit
class pageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let window = UIWindow()
let pageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
window.rootViewController = pageViewController
window.makeKeyAndVisible()
dataSource = self.dataSource
delegate = self.delegate
if let firstViewController = orderedViewControllers.first {
setViewControllers([firstViewController], direction: .forward, animated: true, completion: nil)
}
}
lazy var orderedViewControllers: [UIViewController] = {
return [self.newViewController(name: "IntroViewController"),
self.newViewController(name: "GatherInfoViewController"),
self.newViewController(name: "DashboardShowViewController"),
self.newViewController(name: "HomeShowViewController"),
self.newViewController(name: "FriendShowViewController"),
self.newViewController(name: "GettingStartedViewController")]
}()
func newViewController (name: String) -> UIViewController {
return UIStoryboard(name: "Main", bundle: nil) .
instantiateViewController(withIdentifier: name)
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else { return nil }
let previousIndex = viewControllerIndex - 1
guard previousIndex >= 0 else { return orderedViewControllers.last }
guard orderedViewControllers.count > previousIndex else { return nil }
return orderedViewControllers[previousIndex]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
{
guard let viewControllerIndex = orderedViewControllers.index(of: viewController) else { return nil }
let nextIndex = viewControllerIndex + 1
guard nextIndex < orderedViewControllers.count else { return orderedViewControllers.first }
guard orderedViewControllers.count > nextIndex else { return nil }
return orderedViewControllers[nextIndex]
}
}