UIPageControl选择点并转到该页面

时间:2015-08-04 20:00:20

标签: ios swift uiviewcontroller uipageviewcontroller uipagecontrol

我有一个UIViewController,其中有一个UIView,其中我添加UIPageViewController并以UIViewController作为委托。问题是UIPageControl的{​​{1}}不能像我预期的那样选择点。

我当时期待如果我选择了第4点,它会把我带到第4点,但是,它并不像那样工作。如果我选择UIPageViewController的右半部分(在图像的蓝色方块内),它总是转到下一页,如果我选择UIPageControl的左半部分,则转到上一页(在图像的红色方块内)。所以,如果我在第2页并在第二个点周围选择,则转到第1页(而不是停留在第2页)

enter image description here

此外,如果我完全点击其中一个点(任何一个点),点击将被忽略,虽然我不确定它在设备上是如何工作的(因为在设备中更难以完全点击一个点内)

我的问题:

1 - 忽略完全正确的点内部行为(正好在点内部,我的意思是不在它们周围)?

2 - 两半选择UIPageController在页面之间移动行为正常吗?

3 - 我怎样才能这样做,如果我按下X点,它会把我带到页面X(而不是当前的两半行为)?

注意:我更喜欢swift

2 个答案:

答案 0 :(得分:2)

  

1 - 忽略完全正确的点内部行为(正好在点内部,我的意思是不在它们周围)?

我从未遇到过这个。我会说这不正常。有些东西可能会超越它。

  

2 - 两半选择UIPageController在页面之间移动行为正常吗?

是的,这是UIPageController的默认行为。

  

3 - 我怎样才能这样做,如果我按下X点,它会把我带到页面X(而不是当前的两半行为)?

我建议不要这样做。默认情况下不是这种方式的原因是触摸空间太小(当使用手指而不是鼠标时)。所以只有前进和后退才有意义。你必须创建一个自定义UIControl才能在出于某种原因需要的时候这样做。

答案 1 :(得分:1)

我建议您使用外部库,因为这个问题或多或少已经解决了。通过子类化本机页面控件来完成这项工作非常复杂,但您可以在某处找到实现。

这个库完全符合您的要求(跳转到页面):

https://github.com/Spaceman-Labs/SMPageControl

在文档中,查找"直接页面选择"

部分

希望它有所帮助!

编辑:要查看的图书馆数量很少:

https://github.com/TanguyAladenise/TAPageControl https://github.com/nicklockwood/FXPageControl(非常广泛,可能太多)