【发布时间】:2015-06-04 09:32:15
【问题描述】:
当我的应用第一次启动时,它应该在第一个应用屏幕前面显示一个教程,这些屏幕是一些具有半透明背景的屏幕。
我尝试创建一个 UIPageViewController 对象,将其视图添加为当前屏幕 (self.view.addSubview(tutorialViewController.view)) 的子视图并显示屏幕,但是当我滑动时 UIPageViewController 没有响应事件。
class TutorialViewController:UIPageViewController, UIPageViewControllerDataSource {
var tutorialsViewControllers = [UIViewController]()
override func viewDidLoad() {
super.viewDidLoad()
tutorialsViewControllers.append(Tutorial1ViewController())
tutorialsViewControllers.append(Tutorial2ViewController())
tutorialsViewControllers.append(Tutorial3ViewController())
tutorialsViewControllers.append(Tutorial4ViewController())
tutorialsViewControllers.append(Tutorial5ViewController())
self.setViewControllers([tutorialsViewControllers.first!], direction: .Forward, animated: false) { (complete) -> Void in
}
self.dataSource = self
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
if let position = find(self.tutorialsViewControllers, viewController)
where position > 0
{
return self.tutorialsViewControllers[position - 1]
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController?{
if let position = find(self.tutorialsViewControllers, viewController)
where position < self.tutorialsViewControllers.count - 1
{
return self.tutorialsViewControllers[position - 1]
}
return nil
}
}
这是视图控制器代码
let tutorialViewController = TutorialViewController()
self.view.addSubview(tutorialViewController.view)
【问题讨论】:
标签: ios swift uiviewcontroller uipageviewcontroller