如何启用UIPageViewController的Voice Over 3指滑动手势

17

我在我的应用程序中使用UIPageViewController,但是当启用Voice Over时,"三指滑动"快捷方式无法工作(就像在主屏幕上一样)。 有人知道是否有一种标准方法来启用此功能(就像大多数其他VO功能一样)吗?还是我需要手动检测滑动手势。


能否解释一下为什么要给我点踩?另外,我并不是在寻求调试帮助,所以关闭投票并没有太多意义。 - Epic Byte
现在在iOS 8中默认可以使用了。它具有向上和向下滑动手势。 - GoodSp33d
2个回答

17

经过长时间的搜索,我发现需要重写下面的方法来检测VO滑动。从那里,我可以手动呈现下一个和前一个视图控制器。

-(BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction {

    if (direction == UIAccessibilityScrollDirectionRight) {
      //Previous Page

    } else if (direction == UIAccessibilityScrollDirectionLeft) {
     //Next Page   
    }

    return YES;
}

2
请注意,您应该交换下一页和上一页的行为以达到预期的效果。向右滑动应显示上一页,向左滑动应显示下一页。 - Jordan H

4
感谢Epic,这对我很有帮助!我想为大家添加一个Swift版本。
Swift 4.0:
override func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool {
    if direction == .right {
        // Previous Page
    } else if direction == .left  {
        // Next Page
    } 
    return true
}

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