Swift - 在 vi​​ewDidAppear 中使用新信息重新加载 UIPageViewController

Posted

技术标签:

【中文标题】Swift - 在 vi​​ewDidAppear 中使用新信息重新加载 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 - 在 vi​​ewDidAppear 中使用新信息重新加载 UIPageViewController的主要内容,如果未能解决你的问题,请参考以下文章

为啥我可以在 viewDidAppear 中访问 Core Data 实体,但不能在 viewDidLoad 中访问?

CloudKit-不会更新 (Swift)

Swift:如何在实例化 viewController 之前加载 Firebase 数据?

viewDidLoad 和 viewDidAppear 的区别

Swift 中的特殊 JSON 解析 [关闭]

在 SWIFT 4 中更改弹出框颜色