【发布时间】:2016-06-04 08:18:00
【问题描述】:
我正在尝试以编程方式切换到 pageViewController 上的下一页。我正在使用单个 contentViewController,我在其中根据页面索引编辑内容。
这是我的代码:
override func viewDidLoad() {
self.pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("RPageViewController") as! UIPageViewController
self.pageViewController.dataSource = self
let startVC = self.viewControllerAtIndex(0) as RatingContentView
let viewControllers = NSArray(object: startVC)
self.pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated: true, completion: nil)
self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.size.height - 35)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
self.pageViewController.didMoveToParentViewController(self)
}
func viewControllerAtIndex(index: Int) -> RatingContentView{
if ((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
return RatingContentView()
}
let vc: RatingContentView = self.storyboard?.instantiateViewControllerWithIdentifier("RatingContentView") as! RatingContentView
if index != 0 {
vc.name = self.arrayParticipants[index - 1]
vc.pictureName = self.arrayPictureOfParticipants[index - 1]
}
vc.pageIndex = index
vc.totalCount = self.arrayParticipants.count
self.indexOfSlide = index
return vc
}
func setNextPage() {
let startVC = self.viewControllerAtIndex(indexOfSlide + 1) as RatingContentView
let viewControllers = NSArray(object: startVC)
self.pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated: true, completion: nil)
}
它不会在日志中打印任何错误,它只是崩溃并将错误指向此行: 让 vc: RatingContentView = self.storyboard?.instantiateViewControllerWithIdentifier("RatingContentView") 为!评分内容视图
我尝试了许多解决方案来克服这个问题,包括将上面的行放在 viewDidLoad 中,但没有一个奏效。 我正在尝试在功能时转到下一张幻灯片 设置下一页() 被调用。
谢谢,
【问题讨论】:
标签: ios swift uipageviewcontroller