在UIScrollView中将CGRect从UIImage转换为rect以执行缩放

时间:2013-08-29 09:36:14

标签: ios objective-c uiscrollview uiimageview uiimage

我有一个包含UIImageView的UIScrollView

我需要缩放到UIImage的特定位置 relative ,并且 NOT UIScrollView

因此,例如我有一个UIImage,其大小为1000,1000 PX

我想缩放到一个正方形,使得该图像内的CGRect =(400,500,100,100)

不幸的是,self.scrollView zoomToRect:animated无法正常工作,因为这个rec​​t位于其视图之外而不在同一个坐标系中

UIImage的宽高比也可以在UIImageview内部改变,因此很难计算出UIImageView内部的偏移(图像顶部和底部的黑条)

我知道

convertRect:fromView:

所以考虑做

-(void)zoomToRectInImage:(CGRect)rect
{
    CGRect rect1 = [self.imageView.image convertRect:rect fromView:self.imageView.image]; // error because UIImage isn't a view

    CGRect scrollViewRect = [self.scrollView convertRect:rect1 fromView:self.imageView];

   [self.scrollView zoomToRect:scrollViewRect animated:YES]
}

1 个答案:

答案 0 :(得分:0)

我用不同的格式问了这个问题,这可能有助于某人

UIScrollView how to zoomToRect in UIImageView