gpt4 book ai didi

ios - 使用 PageController 快速移动到下一个 ViewMontroller

转载 作者:行者123 更新时间:2023-11-29 05:39:15 27 4
gpt4 key购买 nike

我有一个页面 View Controller ,在其中显示一些项目,在主视图 Controller 中,我希望能够使用按钮移至下一页。我已将 View Controller 添加到数组中,但如何创建一个在下一个和后退按钮中调用的函数让我感到困惑。

下面是我的代码

private var pageController: UIPageViewController!

lazy var controllers: [UIViewController] = {
let locVC = LocationVC()
locVC.delegate = self
let typeVC = TypeVC()
typeVC.delegate = self
return [locVC,
typeVC]
}()

private func setupPageController() {

self.pageController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
self.pageController.dataSource = self
self.pageController.delegate = self
pageController.view.translatesAutoresizingMaskIntoConstraints = false

addChild(pageController)
view.addSubview(pageController.view)
NSLayoutConstraint.activate([
pageController.view.topAnchor.constraint(equalTo: navView.bottomAnchor),
pageController.view.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
pageController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
pageController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
pageController?.setViewControllers([controllers[0]], direction: .forward, animated: false)

}

func viewControllerAtIndex(index: Int) -> UIViewController? {
if controllers.count == 0 || index >= controllers.count {
return nil
}

return UIViewController()
}

func backBtnClicked() {

guard currentIndex - 1 >= 0 else { return }
currentIndex -= 1
guard let startingViewController = viewControllerAtIndex(index: currentIndex) else { return }
pageController.setViewControllers([startingViewController], direction: .reverse, animated: false)
}

所有 View Controller 都有一个变量,即 var pageIndex: Int = 0 我相信这将用于检测当前页面

最佳答案

您需要(例如,转到寻呼机中的第一个 vc)

pageController.setViewControllers([controllers[index]], direction: .forward, animated: true, completion: nil)

关于ios - 使用 PageController 快速移动到下一个 ViewMontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56724583/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com