Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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
Iphone UIScrollview带有ContentOffset的缩放_Iphone_Ios_Objective C_Uiscrollview - Fatal编程技术网

Iphone UIScrollview带有ContentOffset的缩放

Iphone UIScrollview带有ContentOffset的缩放,iphone,ios,objective-c,uiscrollview,Iphone,Ios,Objective C,Uiscrollview,我正在制作一个应用程序,允许用户将图像导入到UIScrollView中,在那里他们可以滚动并定位图像。其他元素放置在UIScrollView的顶部,然后通过拍摄整个视图的快照来创建图像 这很有效,一切都很好。然后我不得不把照片上传到Facebook上。Facebook显著放大了图像,所以我需要增加图像的大小。所以我应该放大所有的元素并拍摄一张快照,这样应该可以很好地工作,对吗 但是,我无法匹配UIScrollView的contentOffset,因为它被放大了。我尝试过各种各样的数学方程(有些是

我正在制作一个应用程序,允许用户将图像导入到
UIScrollView
中,在那里他们可以滚动并定位图像。其他元素放置在
UIScrollView
的顶部,然后通过拍摄整个视图的快照来创建图像

这很有效,一切都很好。然后我不得不把照片上传到Facebook上。Facebook显著放大了图像,所以我需要增加图像的大小。所以我应该放大所有的元素并拍摄一张快照,这样应该可以很好地工作,对吗

但是,我无法匹配
UIScrollView
contentOffset
,因为它被放大了。我尝试过各种各样的数学方程(有些是我自己的,有些是在这里找到的),但在缩放后,似乎没有任何东西与偏移量匹配

从概念上讲,我认为这应该是可行的,但事实并非如此:

    NSLog(@"Starting offset X: %f",self.imageScroll.contentOffset.x);
    NSLog(@"Starting offset Y: %f",self.imageScroll.contentOffset.y);

    self.imageScroll.transform = CGAffineTransformMakeScale(4, 4);

    CGPoint offset = self.imageScroll.contentOffset;
    float newX = offset.x*4;
    float newY =  offset.y*4;
    NSLog(@"Scaled offset X: %f",newX);
    NSLog(@"Scaled offset Y: %f",newY);

    self.imageScroll.contentOffset = CGPointMake(newX, newY);

非常感谢您抽出时间。

尝试更改图像的变换,而不是滚动视图。还有更好的缩放图像的方法。您可以直接缩放快照图像。无需缩放所有视图。我可以给你的功能,以任何像素缩放图像,如果你想它。放大图像会使它模糊,这就是为什么我需要使它大之前的快照。我无法单独缩放图像,因为我需要根据用户在滚动视图中定位/缩放图像的方式进行裁剪和调整大小。