From 8505db2e78ebf1f59950cd481c0fc202877b43a4 Mon Sep 17 00:00:00 2001 From: benjaminsage Date: Wed, 4 Nov 2020 12:11:52 -0800 Subject: [PATCH] Made controllers a state variable so it would stop breaking --- Sources/iPages/PageViewController.swift | 2 +- Sources/iPages/iPages.swift | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/iPages/PageViewController.swift b/Sources/iPages/PageViewController.swift index e7a7e42..1a85d09 100644 --- a/Sources/iPages/PageViewController.swift +++ b/Sources/iPages/PageViewController.swift @@ -71,7 +71,7 @@ struct PageViewController: UIViewControllerRepresentable { pageViewController.setViewControllers( [controllers[currentPage]], direction: currentPage > previousPage ? .forward : .reverse, - animated: currentPage == previousPage ? false : animated) + animated: animated) } class Coordinator: NSObject, UIPageViewControllerDataSource, UIPageViewControllerDelegate { diff --git a/Sources/iPages/iPages.swift b/Sources/iPages/iPages.swift index 75e5272..968f244 100644 --- a/Sources/iPages/iPages.swift +++ b/Sources/iPages/iPages.swift @@ -6,7 +6,7 @@ import UIKit /// /// Binds to a zero-indexed 0️⃣1️⃣2️⃣ "current page" `Int`eger. public struct iPages: View { - private var viewControllers: [UIViewController] + @State private var viewControllers: [UIViewController] @State private var internalSelection: Int = 0 @Binding private var externalSelection: Int @@ -78,7 +78,7 @@ public struct iPages: View { public init(selection: Binding? = nil, @ViewBuilder content: () -> Content) { - viewControllers = content().decompose().map { UIHostingController(rootView: $0) } + _viewControllers = State(initialValue: content().decompose().map { UIHostingController(rootView: $0) }) if let selection = selection { _externalSelection = selection hasExternalSelection = true