Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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 在UIScrollView中将CGRect从UIImage转换为rect以执行缩放_Ios_Objective C_Uiscrollview_Uiimageview_Uiimage - Fatal编程技术网

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

Ios 在UIScrollView中将CGRect从UIImage转换为rect以执行缩放,ios,objective-c,uiscrollview,uiimageview,uiimage,Ios,Objective C,Uiscrollview,Uiimageview,Uiimage,我有一个包含UIImageView的UIScrollView 我需要缩放到相对于UIImage和UIScrollView的特定位置 例如,我有一个UIImage,它的大小是1000px 我想放大到一个正方形,这样CGRect=(400500100100)在图像中 不幸的是self.scrollView zoomToRect:animated无法正常工作,因为此矩形位于其视图之外,并且不在同一坐标系中 此外,UIImage的纵横比可能在UIImageview内部发生变化,因此很难计算UIImage

我有一个包含UIImageView的UIScrollView

我需要缩放到相对于UIImage和UIScrollView的特定位置

例如,我有一个UIImage,它的大小是1000px

我想放大到一个正方形,这样CGRect=(400500100100)在图像中

不幸的是self.scrollView zoomToRect:animated无法正常工作,因为此矩形位于其视图之外,并且不在同一坐标系中

此外,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]
}

我用不同的方式问了这个问题,这可能会帮助别人