【发布时间】:2020-04-05 02:55:51
【问题描述】:
我的一个视图在主页上有很多数据调用。目前,当我滑动到另一个视图时,速度非常慢。 PageViewController 的代码如下:
struct PageViewController: UIViewControllerRepresentable {
var viewControllers: [UIViewController]
...
func makeUIViewController(context: Context) -> UIPageViewController {
let pageViewController = UIPageViewController(
transitionStyle: .scroll,
navigationOrientation: .horizontal)
pageViewController.dataSource = context.coordinator
return pageViewController
}
func updateUIViewController(_ pageViewController: UIPageViewController, context: Context) {
pageViewController.setViewControllers(
[viewControllers[0]], direction: .forward, animated: true)
}
class Coordinator: NSObject, UIPageViewControllerDataSource {
var parent: PageViewController
init(_ pageViewController: PageViewController) {
self.parent = pageViewController
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
guard let index = parent.viewControllers.firstIndex(of: viewController) else {
return nil
}
if index == 0 {
return nil
}
return parent.viewControllers[index - 1]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
guard let index = parent.viewControllers.firstIndex(of: viewController) else {
return nil
}
if index + 1 == parent.viewControllers.count {
return nil
}
return parent.viewControllers[index + 1]
}
}
}
有没有什么方法可以在用户每次滑动时不更新视图?
【问题讨论】:
标签: ios swift uiviewcontroller navigation swiftui