在单个视图上捏放大多个图像 (Swift)

Posted

技术标签:

【中文标题】在单个视图上捏放大多个图像 (Swift)【英文标题】:Pinch Zoom into multiple Images on a single view (Swift) 【发布时间】:2017-08-13 21:12:48 【问题描述】:

当我使用多个 UIScrollViews 时,我对如何正确滚动到图像有点困惑

我有

pinchScrollView1 pinchScrollView2 图像1

图像2

pinchScrollView1.minimumZoomScale=1.0
pinchScrollView1.maximumZoomScale=6.0
pinchScrollView2.minimumZoomScale=1.0
pinchScrollView2.maximumZoomScale=6.0

func viewForZooming(in scrollView: UIScrollView) -> UIView?


return self.image1

所以这对第一张图片很有用,我想也许我可以检查一下哪个滚动视图被聚焦,然后返回相应的图片,比如

 if pinchZoomScroll1.isFocused 
      return self.image1
 
 else  return self.image2

但这当然不是正确缩放正确的图像

我认为这与我在情节提要中设置 UIScrollView 的代表有关,但我对如何为每个各自的 ScrollView 基本上拥有两个不同的“viewForZooming”功能有点迷茫。

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

所以我最终自己弄清楚了,这就是我所做的!

我从情节提要中删除了代表

 self.pinchZoomScroll1.delegate = self
 self.pinchZoomScroll2.delegate = self
 pinchZoomScroll1.tag = 1
 pinchZoomScroll2.tag = 2

  func viewForZooming(in scrollView: UIScrollView) -> UIView?
  
    if scrollView.tag == 1 
       return self.image1
    
    else 
       return self.image2
    


如果有更好的方法,请随时告诉我,但它确实有效!希望这对其他人有帮助。

【讨论】:

以上是关于在单个视图上捏放大多个图像 (Swift)的主要内容,如果未能解决你的问题,请参考以下文章

在滚动视图内的 UIImageView 上捏缩放效果?

单个条目中的多个图像 - Swift 中的核心数据

使用 LayerDrawable 相互堆叠的图像数组。(在单个图像视图中显示多个图像)

在 Swift 中分别在单个列中显示多个 CollectionView Cell

自定义表格视图单元格上的多个图像(Swift)

在图像上捏合时拉伸和缩小图像