簡體   English   中英

在一個ScrollView中縮放和分頁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM