如何在向上滚动时使UICollectionheader透明?

时间:2015-07-28 09:48:48

标签: objective-c uicollectionview uicollectionviewcell uicollectionviewlayout

在我们滚动集合视图时,请帮助我使UICollectionview标头透明。我使用了UICollectionReusableView并将其背景设置为清晰的颜色,但没有用。在移动头部时(以黑色显示)应该是透明的......这是橙色的背景应该是轻微的可见....

enter image description here

1 个答案:

答案 0 :(得分:0)

信息不足,但我会尝试回答

首先,您应该始终保持指向标题视图的指针

@property UICollectionReusableView *collectionHeaderView;

viewDidLoad中创建一次,然后在集合视图中将其用作标题视图(无论这意味着什么)。

接下来,要在拖动时更改collor,您需要委托方法。 UICollectionViewDelegate符合UIScrollViewDelegate,因此您可以使用其方法

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{ 
     CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview];

     if(translation.y > 0)
     {
        //dragging down
        collectionHeaderView.backgroundColor = <#Whatever you need#>;
     } else
     {
         // dragging up
         collectionHeaderView.backgroundColor = [UIColor clearColor];
     }
 }

特别感谢@mvielbut answer

<强>更新

根据对mvielbut answer的评论,此方法并非始终可靠,因此您可以使用another方法(您需要检查offset.y)。