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