1

我有一个包含 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]
}
4

1 回答 1

0

我以不同的格式问了这个问题,这可能会对某人有所帮助

UIScrollView 如何在 UIImageView 中缩放到矩形

于 2013-08-29T10:46:49.413 回答