UIPageViewController最后一页反弹效果?

6

我正在使用一个UIPageViewController来翻转多个页面的内容。当用户翻到UIPageViewController的最后一页时,当前无法执行任何操作,因为没有更多的页面可供切换。我该如何实现一个类似于滚动到UIScrollView末尾的反弹效果,以便向用户提供一些反馈,表明这是序列的结尾?

1个回答

1

试试这个!

  1. 在你的“第一页”之前添加一个空白页面(可选择将其设置为隐藏)
  2. 完成UIPageViewController的设置后,手动进入第二页,即你的“第一页”。
  3. 在pageViewController:viewControllerBeforeViewController:代理方法中,检查视图是否为空白页面。如果是,
    1. 再次手动进入第二页,可能需要延迟一段时间。或者
    2. 以某种方式禁用UIPageViewController中的UIPanGestureRecognizer手势

这可能不是完美的解决方案,但希望可以接受。 我也会稍后尝试类似的操作,并进行更详细的解释。祝好运!


//编辑

啊...如果你想让反弹效果持续更长时间(我建议你两个都做)...

  1. 跳过这个。
  2. 在所有其他页面之后添加一个额外的空白页(如果您有奇数页和双面视图,则添加两个),并选择将其隐藏(可选)。
  3. 在pageViewController:viewControllerAfterViewController:委托方法中,检查视图是否为(最后)空白页。 如果是,
    1. 手动转到上一页,可能需要一些延迟。 或者
    2. 以某种方式禁用UIPageViewController中的UIPanGestureRecognizer

在(3)中,如果您没有禁用UITapGestureRecognizer,则必须决定它是否为tap手势,然后选择(3.1)路线,否则采取(3.2)路线!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接