2010-06-18 123 views
1

我想要在UIScrollView(或至少出现在UIScrollView内)的图像在放大和缩小时不会改变其大小。我确实希望图像在缩放或滚动时保持其位置。如何让图像在放大UIScrollView时无法调整大小?

用例是我有一个自定义的地图视图与图钉。我想让图钉在缩放和滚动地图时保持原位,但我不希望它们被内容“放大”。

这样做的最好方法是什么?

回答

2

你可以有你的图钉图像(S)为您的UIScrollView的子视图而不是视图的子视图通过

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 

返回之后,在scrollViewDidZoom由zoomScale调整图钉x和y保持针脚正确定位:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView { 
    imageView.frame = CGRectMake(pushPinX * scrollView.zoomScale, pushPinY * scrollView.zoomScale, imageView.frame.size.width, imageView.frame.size.height); 
} 
+0

这几乎为我做了。而不是在scrollViewDidZoom中重新定位我的针脚,我在scrollViewDidScroll中执行此操作,因为视图正在缩放,所以它会不断调用。谢谢你的提示! – 2010-06-19 01:55:01