Swift:滚动时在UICollectionView中隐藏并显示UISegmentedControl

Swift:滚动时在UICollectionView中隐藏并显示UISegmentedControl,swift,uicollectionview,uisegmentedcontrol,Swift,Uicollectionview,Uisegmentedcontrol,当集合滚动时,我需要在我的UICollectionView中隐藏我的UISegmentedControl。下面是我的代码片段: func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { ..... ..... if (collectionViewMovie.contentOffset.y > 100) {

当集合滚动时,我需要在我的
UICollectionView
中隐藏我的
UISegmentedControl
。下面是我的代码片段:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

.....
.....
if (collectionViewMovie.contentOffset.y > 100) {
        self.segmentedControl.isHidden = true
    } else if (collectionViewMovie.contentOffset.y < 100) {
        self.segmentedControl.isHidden = false
    }
}
func collectionView(collectionView:UICollectionView,cellForItemAt indexPath:indexPath)->UICollectionViewCell{
.....
.....
如果(collectionViewMovie.contentOffset.y>100){
self.segmentedControl.ishiden=true
}else if(collectionViewMovie.contentOffset.y<100){
self.segmentedControl.ishiden=false
}
}
在集合滚动时隐藏它的工作。但有时当我慢慢滚动到顶部时,分割的部分不显示。隐藏UISegmentedControl时也不平滑。我知道这是目标C,我读过,但它在UIScrollView上。任何建议和回答都会对我有帮助。提前谢谢

*编辑

 func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
    if scrollView.panGestureRecognizer.translation(in: self.view).y < 0 {
        self.segmentedControl.isHidden = true
    } else {
    self.segmentedControl.isHidden = false
    }
}
func scrollView将开始拖动(scrollView:UIScrollView){
如果scrollView.panGestureRecognizer.translation(in:self.view).y<0{
self.segmentedControl.ishiden=true
}否则{
self.segmentedControl.ishiden=false
}
}

现在它总是显示或隐藏滚动时,即使是平滑的滚动,但仍然没有动画。再次提前感谢

UICollectionView
UIScrollView
的子类,因此您可以使用
UIScrollView
属性
IsDraging
来设置分段控件的
isHidden
属性。您还可以使用
UIScrollViewDelegate
方法
ScrollViewWillBeginDraging
ScrollViewWillEndDraging
来显示/隐藏分段控件。@DennisW。因此,我必须在
viewDidLoad
中以编程方式创建
UIScrollView
?但我认为这会很奇怪,因为
UICollectionView
有自己的
滚动条
。这让我感到困惑-对不起,我是swift的新手(4个月)不,a
UICollectionView
是一种
UIScrollView
(请参阅)。您只需使集合视图符合
UIScrollViewDelegate
协议即可访问我提到的方法。您已经有权访问
isDraging
属性。@DennisW。哦,我明白了,今晚我要试试。我会尽快给出结果。谢谢你的帮助suggest@DennisW. 我读了你推荐给我的网站。经过一些修改,我的案子现在开始运作了。你可以接受它作为答案,这样我就可以标记为accpept答案