ios – 如何使UICollectionViewFlowLayout itemSize动态显示屏幕大小

ios – 如何使UICollectionViewFlowLayout itemSize动态显示屏幕大小,第1张

概述我以编程方式工作(没有故事板),并且无法使layout.itemSize动态化为不同的屏幕尺寸.我收到这个错误消息: “UICollectionView must be initialised with a non-nil layout parameter” 在我的实现文件中使用以下代码: - (instancetype)init { UICollectionViewFlowLayout 我以编程方式工作(没有故事板),并且无法使layout.itemSize动态化为不同的屏幕尺寸.我收到这个错误消息:

“UICollectionVIEw must be initialised with a non-nil layout parameter”

在我的实现文件中使用以下代码:

- (instancetype)init {    UICollectionVIEwFlowLayout *layout = [[UICollectionVIEwFlowLayout alloc] init];    CGSize size = self.collectionVIEw.bounds.size;    layout.itemSize = CGSizeMake(size.wIDth,size.height);    [layout setScrollDirection:UICollectionVIEwScrollDirectionVertical];    layout.minimumlinespacing = 100.0;    layout.headerReferenceSize = CGSizeMake(0.0,50.0);    return (self = [super initWithCollectionVIEwLayout:layout]);}

如果我对layout.itemSize使用“100,100”,我不会收到错误消息.有没有办法让它动态?

我是Objective-C的新手,所以我会很乐意为我做错事而提供任何帮助.

解决方法 需要使用流代理方法:
- (CGSize)collectionVIEw:(UICollectionVIEw *)collectionVIEw                  layout:(UICollectionVIEwLayout *)collectionVIEwLayout  sizeforItemAtIndexPath:(NSIndexPath *)indexPath{    CGSize cellSize = CGSizeMake(wIDth,height);    return cellSize;}

您可以指定任何所需的宽度和高度浮点值.

例如,让我们说你的CollectionVIEw是垂直的,你想要一个简短的标题视图,一个大的中间视图和一个小的页脚视图,那么你可以做一些像:

- (CGSize)collectionVIEw:(UICollectionVIEw *)collectionVIEw                  layout:(UICollectionVIEwLayout *)collectionVIEwLayout  sizeforItemAtIndexPath:(NSIndexPath *)indexPath{    CGSize cellSize;    cellSize.wIDth = self.vIEw.bounds.size.wIDth;    if(indexPath.row == 0)    {        // header vIEw height        cellSize.height = 100;    }    else if(indexPath.row == 1)    {        // body vIEw height        cellSize.height = 500;    }    else    {        // assuming number of items is 3,then footer vIEw is last vIEw        // footer vIEw height        cellSize.height = 100;    }    return cellSize;}
总结

以上是内存溢出为你收集整理的ios – 如何使UICollectionViewFlowLayout itemSize动态显示屏幕大小全部内容,希望文章能够帮你解决ios – 如何使UICollectionViewFlowLayout itemSize动态显示屏幕大小所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存