2014-12-06 234 views
2

如何重新加载UIPageViewController在viewDidAppearSwift - 重新加载UIPageViewController与新的信息viewDidAppear

在那里,我刷新来自CoreData的信息,我想在视图出现时更新值。

我试着用函数reloadInputViews(),但是只有当你开始打开页面然后信息被更新时才失败。

+0

是你的视图控制器中的“'UIPageViewController'”和“IBOutlet'”吗?你的“UIPageViewController”是否被分类了? – 2014-12-06 23:28:14

+0

您需要使用'setViewControllers:direction:animated:completion:'函数为要重新加载的页面加载视图控制器。 – pbasdf 2014-12-06 23:30:30

+0

介意帮助我,我有一个类似的问题。 http://stackoverflow.com/questions/29764415/reload-uipageviewcontroller-json-swift – 2015-04-21 06:40:58

回答

2

如果你想重新加载UIPageViewController内ViewControllers,只是重新进行设置:

pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) 

,如果你打算从一个的viewController内更新viewControllers,你必须调用这种方式:

override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 
    let viewControllers: [UIViewControllers] = [UIViewController()] 
    if let pageViewController = parentViewController as? UIPageViewController { 
     pageViewController.setViewControllers(viewControllers, direction: .Forward, animated: true, completion: nil) 
    } 
} 
+0

'重写func viewDidAppear(animated:Bool){ super.viewDidAppear(animated) self.setViewControllers(pageViewController,direction:.Forward,animated :true,completion:{}) }' 打印一个 错误'ViewController没有一个名为setViewControllers的成员' – 2014-12-07 00:17:31

+0

这个'if if never execution – 2014-12-07 01:48:38

+0

帮我在这里注意,我有一个类似的http:// stackoverflow。 COM /问题/ 29764415 /重装-uipageviewcontroller-JSON-迅速 – 2015-04-21 06:40:45