水平集合视图在单元格上方有空间。如何删除它?

时间:2016-03-24 15:35:15

标签: ios swift uicollectionview insets

我有单元格的集合视图,我可以水平显示+分页。但是我有上面的单元格空间,我无法删除(绿色截图 - 集合视图背景)。细胞大小与容器框架相同。为了更好地理解我的意思,请查看截图。有任何想法吗?非常感谢你。

automaticallyAdjustsScrollViewInsets对我不起作用 [self.calendarView setContentInset:UIEdgeInsetsMake(-64, 0, 0, 0)];有效,但我不知道如何以编程方式获取这些-64。

enter image description here

2 个答案:

答案 0 :(得分:0)

您是否尝试在下面实施这些方法并设置零插入和间距?

您还需要检查单元格的大小是否合适,可能是您看到顶部间距是布局引擎可以放置单元格的唯一方式。请检查按预期设置的大小

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
    return UIEdgeInsetsZero;
}

- (CGFloat)collectionView:(UICollectionView *)collectionView
                   layout:(UICollectionViewLayout *)collectionViewLayout
minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
    return 0.0;
}

- (CGFloat)collectionView:(UICollectionView *)collectionView
                   layout:(UICollectionViewLayout *)collectionViewLayout
minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
    return 0.0;
}

答案 1 :(得分:0)

我多次遇到类似的问题。

当UIScrollView或其子类时,例如UITableView和UICollectionView是viewController.view的第一个子节点,它将获得意外的contentInset。

我的解决方案:

  • 如果还有UIScrollView的其他兄弟,请选择其中一个 非UIScrollView作为第一个孩子。
  • 如果没有其他兄弟姐妹,请添加一个虚拟UIView作为第一个孩子,并隐藏UIView或将高度设置为0