代码之家  ›  专栏  ›  技术社区  ›  Josh Knauer

在uiscroll视图中缩放时,如何使图像不调整大小?

  •  1
  • Josh Knauer  · 技术社区  · 15 年前

    我想在uiscrollview中有图像(或者至少 出现 在uiscrollview中)放大和缩小时不会改变大小。我确实希望图像在缩放或滚动时保持其位置。

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

    最好的方法是什么?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Cheddar    15 年前

    您可以将图钉图像作为uiscrollView的子视图,而不是由返回的视图子视图

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

    然后,在滚动视图中,通过缩放比例调整图钉X和Y,以使图钉正确定位:

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