我有一个包含 UIImageView 的 UIScrollView
我需要缩放到相对于 UIImage 而不是UIScrollView的特定位置
因此,例如我有一个 UIImage 大小为 1000,1000 PX
我想放大到一个正方形,使得该图像内的 CGRect = (400,500,100,100)
不幸的是 self.scrollView zoomToRect:animated 不能正常工作,因为这个矩形在它的视图之外并且不在同一个坐标系中
UIImage 的纵横比也可以在 UIImageview 内部发生变化,因此很难计算其在 UIImageView 内部的偏移量(图像顶部和底部的黑条)
我知道
转换矩形:从视图:
所以想过做
-(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]
}