具有多个图像和缩放的Scrollview

时间:2018-04-17 14:32:49

标签: ios swift uiscrollview zoom pinchzoom

我在滚动视图中缩放图像时遇到问题。 当只有一个图像时,它工作正常,但是当有更多图像时,下面的图像位于第一个图像的顶部。 他们保持位置,但首先是更大。

我是否必须更新以下图像的偏移量,还是有其他方法? 当我缩放

@IBOutlet weak var mainScrollView: UIScrollView!
var imageView: UIImageView!

override func viewDidLoad() {
    ...
    self.mainScrollView.delegate = self
    self.mainScrollView.minimumZoomScale = 1.0
    self.mainScrollView.maximumZoomScale = 3.0
    self.mainScrollView.isPagingEnabled = true
    self.mainScrollView.isScrollEnabled = true
    self.loadImages() 
    ...
}

@objc fund loadData() {
    ...
  scrollViewWidth = self.mainScrollView.frame.width
  scrollViewHeight = self.mainScrollView.frame.height
    for dImage in self.imgData! {
        let imageView = UIImageView(frame: CGRect(x:offset, y:0,width:self.scrollViewWidth, height:self.scrollViewHeight))
        imageView.image = UIImage(data: dImage)
        imageView.contentMode = .scaleAspectFit
        self.imgViewArray.append(imageView)
        self.mainScrollView.addSubview(imageView)

        offset += self.scrollViewWidth
        self.mainScrollView.contentSize = CGSize(width: offset, height: self.scrollViewHeight)
        }
    }
}

func viewForZooming(in scrollView: UIScrollView) -> UIView? {  
    let page = scrollView.contentOffset.x / 
    scrollView.frame.size.width;
    self.imageView = imgViewArray[Int(page)]
    return self.imageView
}

我在这里放大了另一张图片。也是错误的立场。

如果有人能指出我正确的方向,那会很好。 谢谢!

1 个答案:

答案 0 :(得分:-1)

添加自动布局约束以在滚动视图的内容视图中定位图像视图(间隔一个在另一个之下)。

UIScrollView tutorial to scroll and zoom content