我使用的是默认UIPageControl
。 UIPageViewController
是以编程方式创建的。 dataSource
和delegate
方法也已正确配置。
我正在尝试实现与iOS主页中相同的行为。
点击右边应该转到下一页。 点击左侧应该转到上一页。
这些行为是默认的。一切正常除外 当在最后一页上点击时,它会转到第一页。即无限循环。同样适用于第一页和左侧点击,它需要最后一页。
我已在viewControllerBefore
和viewControllerAfter
方法中阻止了无限循环以进行滑动手势。
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController?
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
调查结果:
无论如何都要处理这个案子?我在iOS主屏幕上看到了预期的行为。
答案 0 :(得分:0)
当您的网页索引为nil
或0
时,只需在上述方法中返回n - 1
即可。其中n
是总页数。
示例:强>
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
// Check if index is zero, then return nil
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
// Check if index is equal to total page count, then return nil
}