1

我有收集视图,其中包含我正在水平呈现的单元格 + 启用了分页。但是,我有无法删除的单元格空间(屏幕截图上的绿色 - 集合视图背景)。单元格的大小与容器框架相同。为了更好地理解我的意思,请查看屏幕截图。有任何想法吗?非常感谢。

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

在此处输入图像描述

4

2 回答 2

1

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

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

- (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;
}
于 2016-03-24T16:31:33.900 回答
1

我多次遇到类似的问题。

当 UIScrollView 或其子类,例如 UITableView 和 UICollectionView,是 viewController.view 的第一个子类时,它会得到一个意想不到的 contentInset。

我的解决方案:

  • 如果有 UIScrollView 的其他兄弟姐妹,则将非 UIScrollView 之一作为第一个孩子。
  • 如果没有其他兄弟姐妹,则添加一个虚拟 UIView 作为第一个孩子,然后隐藏 UIView 或将高度设置为 0
于 2016-03-24T17:12:01.213 回答