我正在尝试创建类似照片库之类的东西。
但是现在我有问题,无法放大UIScrollView。
for i in 0..<imageArray.count{
let imageView = UIImageView()
imageView.isUserInteractionEnabled = true
imageView.image = imageArray[i]
imageView.contentMode = .scaleAspectFit
let xPosition = self.view.frame.width * CGFloat(i)
imageView.frame = CGRect(x: 0, y: 0, width: self.scrollView.frame.width, height: self.scrollView.frame.height)
scrollView.addSubview(imageView)
scrollView.contentSize.width = scrollView.frame.width * CGFloat(i+1)
}
scrollView.isScrollEnabled = true
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 6.0
scrollView.isUserInteractionEnabled = true
scrollView.delegate = self
分页效果很好,但我现在不知道如何启用每个imageView的缩放。
答案 0 :(得分:1)
您将需要根据UIScrollViewDelegate
协议实施以下方法:
func viewForZooming(in: UIScrollView) -> UIView?
您将返回要缩放的视图。
现在,在这种情况下,您有多个图像视图(取决于imageArray.count),但我假设您想滚动到所有图像视图(即不是单个图像),所以最好的办法是添加“内容视图”( UIView)添加到滚动视图中,然后将单个图像视图添加到该视图中,而不是直接添加滚动视图并适当调整其大小。
然后,您可以在viewForZooming
方法中返回该“内容视图”。
因此,假设您已创建此“内容视图”,则该方法将如下所示:
func viewForZooming(in: UIScrollView) -> UIView? {
return self.contentView
}