Iphone 缩放和标记

Iphone 缩放和标记,iphone,objective-c,cocoa-touch,ios,Iphone,Objective C,Cocoa Touch,Ios,我有带UIImageView的UIScrollView。在UIImageView上,我有一个圆形标记(另一个UIImageView),我可以在UIImageView上拖动它。我想在UIImageView上缩放图像,因此: - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return imageView; } 但当用户试图缩放图像时,我的标记也在缩放。但我想看看我的马克笔的原始尺寸。如何操作?您可以在

我有带UIImageView的UIScrollView。在UIImageView上,我有一个圆形标记(另一个UIImageView),我可以在UIImageView上拖动它。我想在UIImageView上缩放图像,因此:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return imageView;
}

但当用户试图缩放图像时,我的标记也在缩放。但我想看看我的马克笔的原始尺寸。如何操作?

您可以在代理的方法中对标记应用反向缩放变换:

- (void) scrollViewDidEndZooming: (UIScrollView *) aScrollView withView: (UIView *) view atScale: (float) scale{
    marker.transform = CGAffineTransformMakeScale(1.0f/scale, 1.0f/scale);
}

或者在
scrollViewDidZoom:
方法中-根据哪一种方法可以为您提供更好的行为

您可以对代理方法中的标记应用反向缩放变换:

- (void) scrollViewDidEndZooming: (UIScrollView *) aScrollView withView: (UIView *) view atScale: (float) scale{
    marker.transform = CGAffineTransformMakeScale(1.0f/scale, 1.0f/scale);
}
或者在
scrollViewDidZoom:
method中-取决于哪种方法可以为您提供更好的行为