Ios 使用“我的视图控制器swift 4”中的按钮使用UIPageViewController更改页面
我有一个UIPageViewController,让我在多个视图控制器之间导航。 我的应用程序可以滑动我的屏幕,但我想删除滑动手势,以便在页面之间导航视图中的不同按钮 这是我在页面视图CxController上使用的代码Ios 使用“我的视图控制器swift 4”中的按钮使用UIPageViewController更改页面,ios,swift,uipageviewcontroller,Ios,Swift,Uipageviewcontroller,我有一个UIPageViewController,让我在多个视图控制器之间导航。 我的应用程序可以滑动我的屏幕,但我想删除滑动手势,以便在页面之间导航视图中的不同按钮 这是我在页面视图CxController上使用的代码 class RootPageViewController: UIPageViewController,UIPageViewControllerDataSource { lazy var viewControllerList: [UIViewController] = {
class RootPageViewController: UIPageViewController,UIPageViewControllerDataSource {
lazy var viewControllerList: [UIViewController] = {
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let VC1 = storyBoard.instantiateViewController(withIdentifier: "orangeVC")
let VC2 = storyBoard.instantiateViewController(withIdentifier: "blueVC")
let VC3 = storyBoard.instantiateViewController(withIdentifier: "purpleVC")
return [VC1, VC2, VC3]
}()
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
if let firstViewController = viewControllerList.first {
self.setViewControllers([firstViewController], direction: .forward, animated: true, completion: nil)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
guard let vcIndex = viewControllerList.index(of: viewController) else {return nil}
let previousIndex = vcIndex-1
guard previousIndex >= 0 else {return nil}
guard viewControllerList.count > previousIndex else {return nil}
return viewControllerList[previousIndex]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
guard let vcIndex = viewControllerList.index(of: viewController) else {return nil}
let nextIndex = vcIndex+1
guard viewControllerList.count != nextIndex else {return nil}
guard viewControllerList.count > nextIndex else {return nil}
return viewControllerList[nextIndex]
}
}您只需要在按钮操作中使用这一行
self.setViewControllers([viewControllerList[indexHere]], direction: .forward, animated:false, completion: nil)
我怎样才能得到当前的视图索引呢?正如这里的
guard let vcIndex=viewControllerList.index(of:self.viewControllers.first!)或者{return nil}
你也可以保留一个计数器varJust,这里我有个问题,我不得不在我的页面视图控制器上按下一个按钮,所以我试着在我的另一个视图控制器上按下一个按钮。如何在另一个视图控制器上使用它,或者如何在同一页面视图控制器代码的不同视图上添加按钮的操作?