【发布时间】:2015-05-14 05:07:15
【问题描述】:
尝试成功实现一个允许用户使用 UIPageViewController 在UIViewControllers 之间滚动的应用。
目前,在刷到第二个UIViewController 后,屏幕变黑了,我不能再滚动了。有什么想法吗?
这是我的子类 UIPageViewController 代码:
class ApplicationViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var registrationController : UIViewController!
var loginController : UIViewController!
var captureController : UIViewController!
var visibleVCS = [UIViewController]()
var index = 0
override func viewDidLoad() {
super.viewDidLoad()
initControllers()
reset()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func initControllers()
{
registrationController = self.storyboard?.instantiateViewControllerWithIdentifier("RegistrationViewController") as UIViewController
loginController = self.storyboard?.instantiateViewControllerWithIdentifier("LoginViewController") as UIViewController
captureController = self.storyboard?.instantiateViewControllerWithIdentifier("CaptureViewController") as UIViewController
visibleVCS = [registrationController, loginController, captureController]
}
func reset() {
var currentController = viewControllerAtIndex(index)
pageViewController.dataSource = self
self.setViewControllers([currentController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
if(index >= visibleVCS.count - 1){
return nil
}
return self.viewControllerAtIndex(++index)
}
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
if(index <= 0){
return nil
}
return self.viewControllerAtIndex(--index)
}
func viewControllerAtIndex(index : Int) -> UIViewController? {
return visibleVCS[index];
}
}
【问题讨论】:
-
你有任何错误信息吗?
标签: ios swift uiviewcontroller uipageviewcontroller