【问题标题】:UIPageControl select dot and go to that pageUIPageControl 选择点并转到该页面
【发布时间】:2015-08-04 20:00:20
【问题描述】:

我有一个UIViewController,其中有一个UIView,我在其中添加了一个UIPageViewControllerUIViewController 作为代表。问题是UIPageViewControllerUIPageControl 在点选择方面没有像我预期的那样工作。

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

此外,如果我在其中一个点(任何一个点)内精确单击,则单击将被忽略,尽管我不确定这在设备上是如何工作的(因为在设备中更难在一个点内精确单击) .

我的问题:

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

2 - UIPageController 的两半选择在页面之间移动是否正常?

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

注意:我更喜欢 swift

【问题讨论】:

  • 是的,#1 和#2 是正常的。您可以尝试实现自己的手势识别器来获得您想要的行为。

标签: ios swift uiviewcontroller uipageviewcontroller uipagecontrol


【解决方案1】:

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

我从来没有遇到过这种情况。我会说这不正常。有些东西可能会覆盖它。

2 - UIPageController 的两半选择在页面之间移动是否正常?

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

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

我建议不要这样做。默认情况下不是这种方式的原因是触摸空间太小(使用手指而不是鼠标时)。因此,仅前进和后退是有意义的。如果出于某种原因确实需要,您必须创建一个自定义 UIControl 才能执行此操作。

【讨论】:

    【解决方案2】:

    我建议您为此使用外部库,因为这个问题或多或少已解决。将原生页面控件子类化很复杂,但您可能会在某处找到实现。

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

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

    在文档中,查找“直接页面选择”部分

    希望对你有帮助!

    编辑:要研究的更多库:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多