2013-04-02 72 views
2

我在UICollectionView的SectionHeader单元中添加了一个搜索栏。在UICollectionView中隐藏搜索栏

目前我通过向上移动Y偏移来隐藏视图。

[self.collectionView setContentOffset:CGPointMake(0, 44)]; 

当我的偏移量的高度大于我的视图时,此功能完美无缺。 (垂直滚动条) 但是当单元格适合我的视图时,搜索栏保持可见状态。 (没有垂直滚动条)

任何想法?

+0

为什么向上移动?使用searchbar.hidden = YES;? – lakesh

+0

因为我想拉下搜索栏(例如iBooks) – Jonathan

+0

你不能'self.collectionView.contentSize = ...'? – Rikkles

回答

2

我所做的是子类UICollectionViewFlowLayout和覆盖的方法:

- (CGSize)collectionViewContentSize { 
    CGSize size = [super collectionViewContentSize]; 

    // add viewHeight to allow enough room for view to be hidden 
    if (size.height < self.collectionView.frame.size.height + viewHeight) { 
     size.height = self.collectionView.frame.size.height + viewHeight; 
    } 

    return size; 
} 

这是否意味着人们可以滚动一点点在你的CollectionView当内容的大小比你的CollectionView的范围较小。

+0

好主意。这很好。谢谢! –