【问题标题】:Scrollview with multiple images and zoom具有多个图像和缩放的滚动视图
【发布时间】:2018-09-27 14:00:30
【问题描述】:

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

我必须更新以下图像的偏移量还是有其他方法? 当我放大一个

@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
}

在这里我放大了另一张图片。位置也错了。

如果有人能指出我正确的方向,那就太好了。 谢谢!

【问题讨论】:

  • 我仍然无法让它工作。一个带有图像的 Scrollview 是否足够?还是我需要另一个 Scrollview?一个 Scrollview 用于滑动图像,并为每个图像一个 Scrollview 用于平移和缩放?

标签: ios swift uiscrollview zooming pinchzoom


【解决方案1】:

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

UIScrollView tutorial to scroll and zoom content

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    相关资源
    最近更新 更多