如何自定义CollectionView中每个元素的大小和间距

简介: 问题: 让每个元素大小变为104 x 104 Step 1: 在你的视图控制器头文件中实现UICollectionViewFlowLayout协议 eg: @interface XXViewController : UICollectionViewController .

问题: 让每个元素大小变为104 x 104

Step 1:

在你的视图控制器头文件中实现UICollectionViewFlowLayout协议

eg:

@interface XXViewController : UICollectionViewController<UICollectionViewFlowLayout>

...

@end

 

Step 2:

设置每个单元格的大小

eg:

- (CGSize) collectionView:(UICollectionView *)collectionView
  layout:(UICollectionViewLayout *)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
  return CGSizeMake(104.0f, 104.0f);
}

 

Step 3:

设置单元格间的横向间距

eg:

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

 

Step 4:

设置纵向的行间距

eg:

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

 

step 5:

通过调整inset使单元格顶部和底部都有间距(inset次序: 上,左,下,右边)

eg:

- (UIEdgeInsets) collectionView:(UICollectionView *)collectionView
    layout:(UICollectionViewLayout *)collectionViewLayout
    insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsMake(2.0f, 0.0f, 2.0f, 0.0f);
}

 

目录
相关文章
|
存储 Web App开发 安全
mitmproxy安装与配置
mitmproxy是一个免费的开源交互式的HTTPS代理工具。它类似于其他抓包工具如WireShark和Fiddler,支持抓取HTTP和HTTPS协议的数据包,并可以通过控制台形式进行操作。mitmproxy具有两个非常有用的组件:mitmdump和mitmweb。mitmdump是mitmproxy的命令行接口,可以直接抓取请求数据,而mitmweb是一个web程序,可以清楚地观察mitmproxy抓取的请求数据。
1019 3
mitmproxy安装与配置
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
676 1
|
数据可视化 关系型数据库 MySQL
怎么使用可视化数据库工具 DBeaver 连接本地数据库?
怎么使用可视化数据库工具 DBeaver 连接本地数据库?
1552 0
怎么使用可视化数据库工具 DBeaver 连接本地数据库?
|
前端开发 索引
前端实现tab栏切换,这么常见的案例你学会了吗?
tab栏切换制作是我们web开发中一个十分常见的案例,今天在这里写写,希望对大家有所帮助,还是要用到我们上节写到的排他思想!好好学哦!
1157 0
前端实现tab栏切换,这么常见的案例你学会了吗?
|
监控 前端开发 Cloud Native
程序员如何快速上手一个新项目?
作为开发人员,我们不可避免地会遇到如下场景,一是接手前同事的项目,二是参与到新的项目组开发。 如果项目不紧急留给我们时间去了解业务还好,一旦项目紧急,则会让我们感觉到压力山大。这个时候必须要有一套行之有效的方案,能够引导我们快速步入正轨。 成熟的程序员,擅长从过往经验里总结出快速上手和熟悉新项目的技巧。 今天我们邀请了4名淘系技术工程师,给大家分享一些他们在接手新项目时的方法心得,希望对换工作或者换业务的你有帮助。
程序员如何快速上手一个新项目?
|
iOS开发
iOS中UISearchBar(搜索框)使用总结(一)
iOS中UISearchBar(搜索框)使用总结
464 0
iOS中UISearchBar(搜索框)使用总结(一)
|
存储 关系型数据库 MySQL
MySQL 5.7 MGR部署
实现MySQL数据库主从强同步复制,保证主从库数据的强一致性,MySQL 5.7推出了MGR, 我以实验的方式给大家分享部署MGR。