ios - setcontentsize - uiscrollview viewcontrollers




ScrollView不會快速滾動 (2)

我有一個UIView,並添加一個UIScrollView。 在scrollView裡面是一個UIImageView。
我想通過按下一個按鈕來放大圖像視圖。 如果圖像視圖放大,你應該能夠滾動,但這是行不通的。

目前我有這樣的:

self.imageView = UIImageView()
self.imageView.image = image
self.imageView.frame = self.contentView.bounds

self.scrollView = UIScrollView()
self.scrollView.frame = self.contentView.bounds
self.scrollView.contentSize = self.contentView.bounds.size
self.scrollView.addSubview(self.imageView)

self.contentView.addSubview(self.scrollView)

然後:

@IBAction func zoomPicture() {
    if (scale <= 1.5) {
        scale = scale + 0.1
        scrollView.transform = CGAffineTransformMakeScale(scale, scale)
        scrollView.zoomScale = scale
        scrollView.maximumZoomScale = 1.5
        scrollView.minimumZoomScale = 1.0
        scrollView.contentSize = contentView.bounds.size
        scrollView.scrollEnabled = true
    }
}

我的類也實現了UIScrollViewDelegate並在viewDidLoad()函數中設置了委託。 我還添加了viewForZoomingInScrollView函數。 縮放工作,但我不能滾動。


嘗試這個:

@IBAction func zoomPicture() {
    if (scale <= 1.5) {
        scale = scale + 0.1
        scrollView.zoomScale = scale
        scrollView.maximumZoomScale = 1.5
        scrollView.minimumZoomScale = 1.0
        let size = contentView.bounds.size
        scrollView.contentSize = CGSize(width: size.width * scale, height: size.height * scale)
        scrollView.scrollEnabled = true
    }
}

對於這個問題,你必須設置self.scrollView.contentSizeself.contentView.bounds大,所以它得到適當的空間滾動。

替換這一行

self.scrollView.contentSize = self.contentView.bounds.size

對此:

self.scrollView.contentSize = self.contentView.bounds.size*2 //or what ever size you want to set