ios – 使用双指平移和缩放分页UIScrollView

ios – 使用双指平移和缩放分页UIScrollView,第1张

概述测试用例很容易复制:下载Apple的 PhotoScroller示例应用程序,并尝试对其进行调整,以便平移(在缩放图像周围和每个图像之间)仅适用于两个手指. 将pagingScrollView和imageScrollView的panGestureRecognizer设置为仅接受min&最多2次触摸似乎是一个很好的起点,但它不起作用.它允许你用两根手指滚动图像就好*,但是分页然后不起作用. 我已经尝 测试用例很容易复制:下载Apple的 PhotoScroller示例应用程序,并尝试对其进行调整,以便平移(在缩放图像周围和每个图像之间)仅适用于两个手指.

将pagingScrollVIEw和imageScrollVIEw的panGestureRecognizer设置为仅接受min&最多2次触摸似乎是一个很好的起点,但它不起作用.它允许你用两根手指滚动图像就好*,但是分页然后不起作用.

我已经尝试了很多设置组合和自定义手势识别器,我有点难过.自定义滚动视图子类是否有用,或者我可以以某种方式 *** 纵滚动视图委托方法使其工作?

*编辑:实际上,在这种情况下它不会滚动.只需轻轻一按,视图就不再顺畅滑动……

更新:我还在努力解决这个问题.我很感激来自使用过UIGestureRecognizers和UIScrollVIEws的人的一些意见.

编辑:

将ImageScrollVIEw类设置为仅接受两个触摸:

- (ID)initWithFrame:(CGRect)frame{    // ...    // Template code    // ...    [self.panGestureRecognizer setMinimumNumberOftouches:2];    [self.panGestureRecognizer setMaximumNumberOftouches:2];}

将PhotoVIEwController的pagingScrollVIEw设置为仅接受两个触摸:

- (voID)loadVIEw{    // ...    // Template code    // ...    [pagingScrollVIEw.panGestureRecognizer setMinimumNumberOftouches:2];    [pagingScrollVIEw.panGestureRecognizer setMaximumNumberOftouches:2];}

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

解决方法 子类似乎是这样的方式

该文档指出您可以通过子类化来 *** 纵滚动手势的处理方式.

UIScrollView Class Reference

特别

Subclasses can overrIDe the
touchesShouldBegin:withEvent:inContentVIEw:,pagingEnabled,and
touchesShouldCancelinContentVIEw: methods (which are called by the
scroll vIEw) to affect how the scroll vIEw handles scrolling gestures.

您还应该看看这篇SO帖子,Scrolling with two fingers with a UIScrollView

总结

以上是内存溢出为你收集整理的ios – 使用双指平移和缩放分页UIScrollView全部内容,希望文章能够帮你解决ios – 使用双指平移和缩放分页UIScrollView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1099661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存