我有一个UIPageViewController
,它显示五个ViewControllers
(包含在ViewControllers
的数组中)。我正在使用手势识别器来向后/向前移动页面,而不是viewControllerBefore
/ viewControllerAfter
方法。它工作正常,但是页面突然改变。我想要的动画类似于我以前应用.scroll
时获得的动画。
我希望能够显示两个ViewControllers
,类似于我们在.scroll
动画中缓慢滑动时所遇到的情况。
你能建议怎么做吗?
谢谢。
正如我在此问题中提到的,我遇到了滚动问题-> [{Disable swiping in horizontal UICollectionView inside my PageViewController to swipe in UIPageViewController 因此,我决定对此行发表评论-> self.dataSource = self 我决定明确提供与手势相关的功能。
@objc func handleSwipe(gesture: UISwipeGestureRecognizer) {
print(gesture.direction)
switch gesture.direction {
case UISwipeGestureRecognizer.Direction.down:
print("down swipe")
case UISwipeGestureRecognizer.Direction.up:
print("up swipe")
case UISwipeGestureRecognizer.Direction.left:
self.setViewControllers([ViewControllerArray[1]], direction: .forward, animated: false, completion: nil)
case UISwipeGestureRecognizer.Direction.right:
self.setViewControllers([ViewControllerArray[2]], direction: .forward, animated: false, completion: nil)
default:
print("other swipe")
}
}
答案 0 :(得分:1)
将animated
参数更改为true
@objc func handleSwipe(gesture: UISwipeGestureRecognizer) {
print(gesture.direction)
switch gesture.direction {
case UISwipeGestureRecognizer.Direction.down:
print("down swipe")
case UISwipeGestureRecognizer.Direction.up:
print("up swipe")
case UISwipeGestureRecognizer.Direction.left:
self.setViewControllers([ViewControllerArray[1]], direction: .forward, animated: true, completion: nil)
case UISwipeGestureRecognizer.Direction.right:
self.setViewControllers([ViewControllerArray[2]], direction: .forward, animated: true, completion: nil)
default:
print("other swipe")
}
}