我正在尝试创建一个图库应用,用户可以在其中滑动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)
}
}
}
答案 0 :(得分:1)
虽然启用了分页,但滚动视图也发生了同样的情况。我的解决方案是将UIPageViewController嵌入到containerView中,而不是使用scrollview。
答案 1 :(得分:1)
第三方库-用于滚动图像的可重用滚动视图应解决此问题。开箱即用。应用与UITableView相同的原理。看看:
https://github.com/sumofighter666/ReusableScrollView
那里有obj-c和swift的样本。您可以简单地从示例中复制代码