Scrollview委托方法也在滚动集合视图时调用

时间:2017-06-20 07:16:24

标签: swift uiscrollview

我已完成此代码以在滚动视图时获取当前页面,并且屏幕底部有UICollectionView。 问题是,当我滚动滚动视图时,它工作正常,但滚动UICollectionView时此方法也有效。

func scrollViewDidScroll(_ scrollView: UIScrollView){
        let pageNo = round(scrollView.contentOffset.x / scrollView.frame.size.width)
        print(pageNo)
        if pageNo == 0.0{
            changebackColor()
            dignosticView.backgroundColor = UIColor().HexToColor(hexString: "FC6614", alpha: 1.0)
            dignosticView.layer.borderColor = UIColor().HexToColor(hexString: "f68f56").cgColor         
        }
        else if pageNo == 1.0{
            changebackColor()
            offerView.backgroundColor = UIColor().HexToColor(hexString: "FC6614", alpha: 1.0)
            offerView.layer.borderColor = UIColor().HexToColor(hexString: "f68f56").cgColor
        }
        else if pageNo == 2.0{
            changebackColor()
            alertView.backgroundColor = UIColor().HexToColor(hexString: "FC6614", alpha: 1.0)
            alertView.layer.borderColor = UIColor().HexToColor(hexString: "f68f56").cgColor
        } 
    }

1 个答案:

答案 0 :(得分:1)

是的,因为集合视图也是scrollView。您可以将if语句放在滚动视图委托的第一行,如果scrollView来自您的集合视图

,则不执行任何操作
if(scrollView != collectionView){
   //your code here
}