[英]Zoom and paging in one ScrollView
我正在嘗試創建類似照片庫的內容。
但是現在我有問題,放大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的功能。
您將需要通過UIScrollViewDelegate
協議實現以下方法:
func viewForZooming(in: UIScrollView) -> UIView?
這樣就可以返回要縮放的視圖。
現在,在這種情況下,您有多個圖像視圖(取決於imageArray.count),但是我假設您想全部滾動到它們(即不是單個圖像),所以最好的辦法是向其中添加一個“內容視圖”(UIView)滾動視圖,然后向其添加單個圖像視圖,而不是直接添加滾動視圖並適當調整其大小。
然后,您可以在viewForZooming
方法中返回該“內容視圖”。
因此,假設您已創建此“內容視圖”,則該方法將如下所示:
func viewForZooming(in: UIScrollView) -> UIView? {
return self.contentView
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.