ios - 使用两指平移和缩放对 UIScrollView 进行分页

标签 ios uiscrollview zooming multi-touch panning

测试用例很容易复现:下载苹果的PhotoScroller示例应用程序,并尝试对其进行调整,以便平移(围绕缩放图像以及在每个图像之间)仅适用于两根手指。

pagingScrollViewimageScrollViewpanGestureRecognizer 设置为仅接受最少和最多 2 次触摸似乎是一个好地方开始,但是它不起作用。它让您可以用两根手指滚动图像*,但是分页功能不起作用。

我已经尝试了很多设置和自定义手势识别器的组合,但我有点难过。自定义 ScrollView 子类是否有任何用处,或者我可以以某种方式操纵 ScrollView 委托(delegate)方法使其工作吗?

*编辑:实际上,在这种情况下滚动效果不佳。 View 不再像单次触摸那样平滑滑动...

更新:我仍在努力解决这个问题。如果有人玩过 UIGestureRecognizerUIScrollView,我将不胜感激。

编辑:

ImageScrollView 类设置为只接受两次触摸:

- (id)initWithFrame:(CGRect)frame
{
    // ...
    // Template code
    // ...

    [self.panGestureRecognizer setMinimumNumberOfTouches:2];
    [self.panGestureRecognizer setMaximumNumberOfTouches:2];
}

设置 PhotoViewControllerpagingScrollView 只接受两次触摸:

- (void)loadView
{
    // ...
    // Template code
    // ...

    [pagingScrollView.panGestureRecognizer setMinimumNumberOfTouches:2];
    [pagingScrollView.panGestureRecognizer setMaximumNumberOfTouches:2];
}

这些修改是直接在 PhotoScroller 示例应用程序之上进行的。我希望这些简单的更改适用于双指交互,但是副作用很奇怪(如上所述)。

最佳答案

这似乎是不可能的,或者非常非常困难(即从头开始滚动您自己的 ScrollView )。我使用了 Apple 技术支持事件,他们无法提供帮助。如果有可用的解决方案,我会很乐意将其标记为已接受的答案!

关于ios - 使用两指平移和缩放对 UIScrollView 进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025102/

相关文章:

javascript - Android:禁用捏合缩放并将事件传递给 Flash 内容

ios - 在另一个定义中使用台风组装模型属性

ios - Swift:为用户搜索 Firebase 数据库

ios - SourceDNA 如何跟踪应用程序使用的 SDK

ios - UIScrollView圆顶效果

ios - 如何使用约束使我们的 Freedom View Controller 可滚动?

javascript - 单击 Cordova 中的应用程序图标启动器时如何恢复应用程序?

ios - 嵌套的 UIScrollView 防止弹跳冒泡并允许在列表末尾进行父分页

css - 如何使用 Magnific Popup 的 open() 方法放大图像

JavaScript 将图像缩放到与 IE 兼容的鼠标光标