快速滚动期间水平滚动视图上下跳动

时间:2018-11-30 22:26:46

标签: swift uiscrollview scrollview

具有页面控制功能的水平UIScrollView可以使用,但是在滚动到后续页面的过程中,视图会上下跳跃。

单击here以查看我的问题的屏幕记录。 (通过Google云端硬盘,无需下载文件。)

这是我的代码:

func setupSlideScrollView(slides: [Slide]) {

    slideScrollView.frame = CGRect(x: 0, y:0, width: view.frame.width, height: view.frame.height)
    slideScrollView.contentSize = CGSize(width: view.frame.width * CGFloat(slides.count), height: view.frame.height)


    for i in 0 ..< slides.count {
        slides[i].frame = CGRect(x: view.frame.width * CGFloat(i), y: 0, width: view.frame.width, height: view.frame.height)
        slideScrollView.addSubview(slides[i])
    }
}


func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let pageIndex = round(slideScrollView.contentOffset.x/view.frame.width)
    pageControl.currentPage = Int(pageIndex)

}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。在功能scrollviewdidscroll下,我添加了以下代码行:

  func scrollViewDidScroll(_ scrollView: UIScrollView) {
 if scrollView.contentOffset.y > 0 || scrollView.contentOffset.y < 0 {
    scrollView.contentOffset.y = 0
 }