【问题标题】:Zooming and Panning of two images at a time in a single view在单个视图中一次缩放和平移两个图像
【发布时间】:2019-02-21 05:21:36
【问题描述】:

我想一次在一个视图中缩放和平移两个图像。当用户尝试捏合一个图像时,它应该将第一张图像的行为反映到另一张图像上,如果用户平移一张图像,它应该将另一张图像反映为第一张图像的行为方式。两个图像不应重叠。

我尝试过使用 UIScrollView 的单个图像,它可以完美运行,但是当涉及到两个图像时,我不知道如何故意调用 UIScrollView 委托方法 viewForZooming(in scrollView: UIScrollView) -> UIView?两个滚动视图。

【问题讨论】:

  • 将每张图片放在自己的滚动视图中,并通过使用 UIScrollView Delegates 检测更改来设置一个滚动视图的内容偏移量和缩放比例。
  • @Akhilrajtr viewForZooming 在这个委托方法中应该返回哪个图像视图?
  • 为滚动视图和viewForZooming委托方法创建出口,检查scrollView并取决于它是滚动视图A返回imageA还是滚动视图B返回imageB。然后使用scrollViewDidZoom委托并将scrollview的缩放比例设置为另一个。
  • @Akhilrajtr 它在缩放时工作得很好。但是当我试图平移/拖动图像视图时,我在 scrollViewWillEndDragging 委托方法中为每个滚动视图设置内容偏移量。问题是另一个滚动视图最后生效了,因为它是结束拖动,无论如何,两个图像视图同时拖动。

标签: ios swift xcode ipad


【解决方案1】:

为两个滚动视图创建出口,例如 scrollviewAscrollviewB。在viewForZooming委托方法中检查scrollView并取决于它是scrollviewA返回imageA还是scrollviewB返回imageB

然后使用scrollViewDidZoom委托并使用上面提到的相同检查将滚动视图的缩放比例设置为另一个。

对于拖动,尝试使用scrollViewDidScroll 委托方法并将一个滚动视图的内容偏移设置为另一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 2016-07-22
    • 1970-01-01
    • 2017-04-02
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多