ios - 如何使用 ‘scroll’ 过渡样式在 UIPageViewController 的页面之间滚动需要两根手指?

标签 ios uigesturerecognizer uipageviewcontroller

我正在开发一个永远不会提交到 App Store 的 iOS 6 应用程序。

我正在尝试使用 UIPageViewController允许用户在四个不同的 View Controller 之间从左向右滑动。这很好用,但为了允许与每个 View Controller 进行正常的单指交互,我希望用两根手指在 UIPageViewController 的页面之间滑动。 .

文档建议我应该能够通过自定义 UIGestureRecognizer 来做到这一点。在 gestureRecognizers 中找到的对象我的 UIPageViewController 的属性(property).但是,当 transitionStyle 时,此属性似乎是一个空数组。设置为 UIPageViewControllerTransitionStyleScroll .

如果我更改 transitionStyleUIPageViewControllerTransitionStylePageCurl该属性包含 UIGestureRecognizer对象,我可以随意定制它们。

是否有任何(记录或其他)方法可以使用滚动转换类型来实现我想要的?

最佳答案

如果它解决了你的问题,我已经用这段代码解决了这个问题。带有滚动转换的 UIPageViewController 是使用 UIScrollView 实现的,它是 Controller 主视图的 subview ,UIScrollViewController 有一个 panGesture 属性用于处理平移的触摸,因此:

for (UIView* view in [editor.view subviews]) {
    if ([view  isKindOfClass:[UIScrollView class]])
    {
        UIScrollView* scrollView = (UIScrollView*)view;
        scrollView.panGestureRecognizer.minimumNumberOfTouches = 2;
    }
}

这解决了问题!

关于ios - 如何使用 ‘scroll’ 过渡样式在 UIPageViewController 的页面之间滚动需要两根手指?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777965/

相关文章:

ios - 如何让同级 UIView 处理不同的手势?

ios - 某些情况下不调用 UIGestureRecognizerState.Ended

ios - 禁止用户在 UIPageViewController 上仅向特定方向滑动?

ios - 无法将数据获取到 MasterViewController 中的 UITableView 中

ios - 如何在uitableviewcell中添加ImageButton

ios - iOS 上的自签名证书

ios - 如何从导航栏滑动 UIPageViewController

ios - s 为什么我的 Product->Archive 会在不同上下文中的对象之间出现 'Illegal attempt to establish a relationship ' compressionType' 失败?

ios - 同时平移多个图像

iOS Swift 页面 View Controller