您需要采取哪些步骤将 UIPanGestureRecognizer 触摸转换为 ScrollView 缩放?

Posted

技术标签:

【中文标题】您需要采取哪些步骤将 UIPanGestureRecognizer 触摸转换为 ScrollView 缩放?【英文标题】:What steps do you need to take to translate UIPanGestureRecognizer touches to ScrollView zooming? 【发布时间】:2012-06-30 09:46:07 【问题描述】:

我正在创建一个手势识别器来处理滚动视图的缩放(一次仅沿一个轴滚动)。我有手势识别器工作,但我无法使用来自手势识别器的数据来正确转换我的视图。这就是我现在所做的:

- (void)handlePinch:(GPinchGestureRecognizer *)pinchRecognizer

 CGSize contentSize = [[self scrollView] contentSize];

 if (pinchRecognizer.pinchType == VerticalPinchZoomIn || pinchRecognizer.pinchType == VerticalPinchZoomOut)
 

    [[self scrollView] containerView].transform = CGAffineTransformScale([pinchRecognizer transformBeforeTouches], 1, [pinchRecognizer scale]);
    [[self scrollView] setContentSize:CGSizeMake(contentSize.width, [pinchRecognizer initialContentSize].height * [pinchRecognizer scale])];
 
 ... 
 ...

这很好地调整了视图的大小,但是,它让它到达屏幕上奇怪的位置,有时滚动视图将无法一直滚动到它的边缘(它认为它的边界在视图的中间某处并反弹回来)。

所以基本上,我的问题是,我需要对其他对象的哪些其他属性进行操作才能使其正常工作? View.transform,ScrollView.contentSize,还有什么?如果只有苹果的 UIScrollView 实现文件是开源的 xD

【问题讨论】:

【参考方案1】:

你确实需要添加 UIPinchGestureRecognizer 或者不需要维护它。

只需按照this 链接在滚动视图中添加图像以进行缩放

【讨论】:

以上是关于您需要采取哪些步骤将 UIPanGestureRecognizer 触摸转换为 ScrollView 缩放?的主要内容,如果未能解决你的问题,请参考以下文章

从类库转换为 WCF 需要采取哪些步骤?

我需要采取哪些步骤才能使用 WCF 回调?

在发布我的新软件之前,我应该采取哪些技术步骤?

机器学习 - 分类器评估

如何将 Excel 电子表格导入 SQL Server?

为 Kindle 制作杂志