UIScrollview停在图像上

时间:2017-10-23 10:41:45

标签: ios swift uiscrollview

我正在尝试创建一个图库应用,用户可以在其中滑动UIScrollview并浏览图像。但是,当用户停止滚动时,图像停在错误的位置。这就是我最终的结果: https://imgur.com/UHiNtyo
我一直在关注教程:https://www.youtube.com/watch?v=LaWnv5sRpho

这是我的代码:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var mainscrollview: UIScrollView!
    var imageArray = [UIImage]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
  
        mainscrollview.frame = view.frame
        
        imageArray = [#imageLiteral(resourceName: "goku"), #imageLiteral(resourceName: "boruto"), #imageLiteral(resourceName: "tail"), #imageLiteral(resourceName: "sage"),#imageLiteral(resourceName: "tobi")]
        
        for i in 0..<imageArray.count{
            let imageView = UIImageView()
            imageView.image = imageArray[i]
            imageView.contentMode = .scaleAspectFit
            let xPosition = self.view.frame.width * CGFloat(i)
            imageView.frame = CGRect(x: xPosition, y: 0, width: self.mainscrollview.frame.width,height: self.mainscrollview.frame.height)
            mainscrollview.contentSize.width = mainscrollview.frame.width * CGFloat(i + 1)
            mainscrollview.addSubview(imageView)
        }
    }
}

2 个答案:

答案 0 :(得分:1)

虽然启用了分页,但滚动视图也发生了同样的情况。我的解决方案是将UIPageViewController嵌入到containerView中,而不是使用scrollview。

答案 1 :(得分:1)

第三方库-用于滚动图像的可重用滚动视图应解决此问题。开箱即用。应用与UITableView相同的原理。看看:

https://github.com/sumofighter666/ReusableScrollView

那里有obj-c和swift的样本。您可以简单地从示例中复制代码