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