1

UIImageView を含む UIScrollView があります

UIScrollViewではなく、UIImageに相対的な特定の場所にズームする必要があります

たとえば、サイズが1000,1000 PXのUIImageがあります

その画像内で CGRect = (400,500,100,100) となるような正方形にズームしたいと思います

残念ながら、self.scrollView zoomToRect:animated は正しく機能しません。これは、この rect がビューの外にあり、同じ座標系にないためです。

また、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]
}
4

1 に答える 1