删除集合视图中各部分之间的 space
Remove space between sections in collectionview
如何调整集合视图各部分之间的间距。
这是一个布局问题,因此答案将在您用于集合视图的任何布局中。如果您使用 UICollectionViewFlowLayout
,那么您需要设置 sectionInset
。例如
self.collectionView.collectionViewLayout.sectionInset = UIEdgeInsetsZero;
你可以使用方法来实现这个:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
//{top, left, bottom, right}
if ([[sectionHeaderStatusArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(23, 19, 46, 14);
}
return UIEdgeInsetsZero;
}
Header 高度可以通过调整 collection 视图布局的参数来调整。以下是运行良好的代码。
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
if ([[sectionHeaderArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(10, 10, 10, 10);
}
return UIEdgeInsetsZero;
}
试试这个:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
if ([[sectionHeaderArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(top, left, bottom, right);
}
return UIEdgeInsetsZero;
}
这里是 Swift 4.2 版本。
这让您可以为不同的部分设置各种插图配置。
/// Formats the insets for the various headers and sections.
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
if section == 0 {
// No insets for header in section 0
return UIEdgeInsets.zero
} else {
// Normal insets for collection
return UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)
}
}
如何调整集合视图各部分之间的间距。
这是一个布局问题,因此答案将在您用于集合视图的任何布局中。如果您使用 UICollectionViewFlowLayout
,那么您需要设置 sectionInset
。例如
self.collectionView.collectionViewLayout.sectionInset = UIEdgeInsetsZero;
你可以使用方法来实现这个:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
//{top, left, bottom, right}
if ([[sectionHeaderStatusArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(23, 19, 46, 14);
}
return UIEdgeInsetsZero;
}
Header 高度可以通过调整 collection 视图布局的参数来调整。以下是运行良好的代码。
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
if ([[sectionHeaderArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(10, 10, 10, 10);
}
return UIEdgeInsetsZero;
}
试试这个:
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
if ([[sectionHeaderArray objectAtIndex:section] boolValue]) {
return UIEdgeInsetsMake(top, left, bottom, right);
}
return UIEdgeInsetsZero;
}
这里是 Swift 4.2 版本。
这让您可以为不同的部分设置各种插图配置。
/// Formats the insets for the various headers and sections.
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
if section == 0 {
// No insets for header in section 0
return UIEdgeInsets.zero
} else {
// Normal insets for collection
return UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)
}
}