我已经做了这段代码,以获得当前页面,同时滚动视图和有一个UICollectionView
在屏幕底部。
问题是,当我滚动scroll view时,它工作正常,但是这个方法在滚动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
}
}
最佳答案
是的,因为集合视图也是滚动视图。您可以将if语句放在scroll view委托的第一行,如果scrollView来自您的集合视图,则不执行任何操作
if(scrollView != collectionView){
//your code here
}
关于swift - ScrollView 集合 View 时也调用Scrollview委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44646297/