Swift 滚动表格视图重置水平滚动视图页面控件

Swift 滚动表格视图重置水平滚动视图页面控件,swift,Swift,我的应用程序中有一些奇怪的行为。我有一个带有静态单元格的表视图控制器。在其中一个单元格中,我有一个水平滚动视图。滚动视图连接到页面控制器。滚动视图和页面控制器工作正常,但是如果我滚动表格视图,滚动视图页面控制器将重置为第一页 但是,实际的滚动视图内容并非如此,如果我再次滚动滚动视图,页面控制器将跳回上一个位置 我正在使用: override func scrollViewDidEndDecelerating(scrollView: UIScrollView){ let pageWidth:C

我的应用程序中有一些奇怪的行为。我有一个带有静态单元格的表视图控制器。在其中一个单元格中,我有一个水平滚动视图。滚动视图连接到页面控制器。滚动视图和页面控制器工作正常,但是如果我滚动表格视图,滚动视图页面控制器将重置为第一页

但是,实际的滚动视图内容并非如此,如果我再次滚动滚动视图,页面控制器将跳回上一个位置

我正在使用:

override func scrollViewDidEndDecelerating(scrollView: UIScrollView){
  let pageWidth:CGFloat = CGRectGetWidth(scrollView.frame)
  let currentPage:CGFloat = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1
   self.pageController.currentPage = Int(currentPage)
}
控制页面控制器的视觉效果

似乎上面的表格视图也在抓取卷轴结束。关于如何停止触发该函数的表视图,有什么建议吗


谢谢

您只需检查
滚动视图
是否是您的表视图:

override func scrollViewDidEndDecelerating(scrollView: UIScrollView){

   // Add this 
   if scrollView == self.tableView
   {
        return;
   }

   let pageWidth:CGFloat = CGRectGetWidth(scrollView.frame)
   let currentPage:CGFloat = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1
   self.pageController.currentPage = Int(currentPage)
}

这可能是一个旧线程,但您并不真正需要tableview引用

if scrollView is UITableView{
    return
}
//Do some stuff

@帕克斯:很高兴这有帮助:)