Swift - 在 viewDidAppear 中使用新信息重新加载 UIPageViewController
Posted
技术标签:
【中文标题】Swift - 在 viewDidAppear 中使用新信息重新加载 UIPageViewController【英文标题】:Swift - Reload UIPageViewController with new information in viewDidAppear 【发布时间】:2015-02-04 21:51:38 【问题描述】:如何在viewDidAppear
重新加载UIPageViewController?
在那里,我从 CoreData 刷新信息,并且我想在视图出现时更新值。
我尝试使用函数reloadInputViews()
,但只有当您开始打开页面时才会成功更新信息。
【问题讨论】:
您的视图控制器中的“UIPageViewController
”是“IBOutlet
”吗?你的“UIPageViewController
”是子类吗?
您需要使用setViewControllers:direction:animated:completion:
函数为您要重新加载的页面加载视图控制器。
介意帮助我,我也有类似的问题。 ***.com/questions/29764415/…
【参考方案1】:
如果你想在 UIPageViewController 中重新加载 ViewControllers,只需重新设置它们:
pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool)
如果你要从 viewController 中更新你的 viewController,你必须这样调用它:
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)
【讨论】:
override func viewDidAppear(animated: Bool) super.viewDidAppear(animated) self.setViewControllers(pageViewController, direction: .Forward, animated: true, completion: )
打印错误ViewController does not have a member named setViewControllers
这个if
永远不会执行
请帮帮我,我也有类似的***.com/questions/29764415/…以上是关于Swift - 在 viewDidAppear 中使用新信息重新加载 UIPageViewController的主要内容,如果未能解决你的问题,请参考以下文章
为啥我可以在 viewDidAppear 中访问 Core Data 实体,但不能在 viewDidLoad 中访问?
Swift:如何在实例化 viewController 之前加载 Firebase 数据?