Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 您需要采取哪些步骤将UIPanGestureRecognizer触摸转换为滚动视图缩放?_Ios_Uiscrollview_Uigesturerecognizer_Cgaffinetransform_Uipinchgesturerecognizer - Fatal编程技术网

Ios 您需要采取哪些步骤将UIPanGestureRecognizer触摸转换为滚动视图缩放?

Ios 您需要采取哪些步骤将UIPanGestureRecognizer触摸转换为滚动视图缩放?,ios,uiscrollview,uigesturerecognizer,cgaffinetransform,uipinchgesturerecognizer,Ios,Uiscrollview,Uigesturerecognizer,Cgaffinetransform,Uipinchgesturerecognizer,我正在创建一个手势识别器来处理滚动视图中的缩放(一次只沿一个轴滚动)。我的手势识别器工作正常,但在使用手势识别器的数据正确转换视图时遇到问题。这就是我现在所做的: - (void)handlePinch:(GPinchGestureRecognizer *)pinchRecognizer { CGSize contentSize = [[self scrollView] contentSize]; if (pinchRecognizer.pinchType == VerticalPinch

我正在创建一个手势识别器来处理滚动视图中的缩放(一次只沿一个轴滚动)。我的手势识别器工作正常,但在使用手势识别器的数据正确转换视图时遇到问题。这就是我现在所做的:

- (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

你就需要添加UIPinchGestureRecognitor,或者两者都不维护它

只需按照链接在scrollview中添加图像即可进行缩放