自定义CollectionViewCell,显示时大小问题

时间:2022-03-12 16:05:26
一直以来用TableView,今天使用CollectionView,以为原理实现步骤都和TableView一样,结果却出现了这样的问题,网上到处查询,却没找到有人和我遇到的问题一样,不知道是我哪里出错了,希望集思广益,大家帮我看看呢。
Storyboard中自定义的Cell是这么大的:
自定义CollectionViewCell,显示时大小问题
运行时,刚进入界面显示的时候Cell是这么大的:
自定义CollectionViewCell,显示时大小问题
滑动一下CollectionView,Cell重新复用显示的时候才是我最初自定义的大小,但是没有复用的Cell还是很小,不是想要的结果:
自定义CollectionViewCell,显示时大小问题
请问这样的问题,是我哪里的设置不对呢,还是哪里少了什么设置呢?
请大家帮帮忙,谢谢。
今天纠结这个问题好久,还是没解决。

8 个解决方案

#1


Storyboard中是否设置了自定cell的大下呢?

#2


恩 ,设置了的,你看:
自定义CollectionViewCell,显示时大小问题
这里的设置了不行,于是我还在代码里添加了:
自定义CollectionViewCell,显示时大小问题
结果还是无效。。。

#3


方便把你的代码上传到上来吗?或者写一个Sample可以重现问题的例子,否则很难猜测,问题出在哪里~

#4


啊,我晕死,自己重写的Sample,就能正常显示。
而现在 项目里的东西 就不能正常显示~~~
我在看看先,谢谢你。

#5


我把项目的代码抽出来卸载一个 Sample里了, 问题重现。
打包好了,那我怎么传给你呢?

#6


http://download.csdn.net/detail/cblog_life/9485972
好了,Sample我传到⬆️了,你空了帮我看看呢,谢谢! 自定义CollectionViewCell,显示时大小问题

#7


http://*.com/questions/25804588/auto-layout-in-uicollectionviewcell-not-working
应该是UICollectionView的Bug,参考这个问题答案,可以解决;

#8


引用 7 楼 ravatar0423 的回复:
http://*.com/questions/25804588/auto-layout-in-uicollectionviewcell-not-working
应该是UICollectionView的Bug,参考这个问题答案,可以解决;

终于解决了,原来是SDK版本与iOS版本兼容的小问题;
在自定义的CollectionViewCell里加上以下代码就Ok了:
- (void)setBounds:(CGRect)bounds {
    [super setBounds:bounds];
    self.contentView.frame = bounds;
}

谢谢你! 自定义CollectionViewCell,显示时大小问题

#1


Storyboard中是否设置了自定cell的大下呢?

#2


恩 ,设置了的,你看:
自定义CollectionViewCell,显示时大小问题
这里的设置了不行,于是我还在代码里添加了:
自定义CollectionViewCell,显示时大小问题
结果还是无效。。。

#3


方便把你的代码上传到上来吗?或者写一个Sample可以重现问题的例子,否则很难猜测,问题出在哪里~

#4


啊,我晕死,自己重写的Sample,就能正常显示。
而现在 项目里的东西 就不能正常显示~~~
我在看看先,谢谢你。

#5


我把项目的代码抽出来卸载一个 Sample里了, 问题重现。
打包好了,那我怎么传给你呢?

#6


http://download.csdn.net/detail/cblog_life/9485972
好了,Sample我传到⬆️了,你空了帮我看看呢,谢谢! 自定义CollectionViewCell,显示时大小问题

#7


http://*.com/questions/25804588/auto-layout-in-uicollectionviewcell-not-working
应该是UICollectionView的Bug,参考这个问题答案,可以解决;

#8


引用 7 楼 ravatar0423 的回复:
http://*.com/questions/25804588/auto-layout-in-uicollectionviewcell-not-working
应该是UICollectionView的Bug,参考这个问题答案,可以解决;

终于解决了,原来是SDK版本与iOS版本兼容的小问题;
在自定义的CollectionViewCell里加上以下代码就Ok了:
- (void)setBounds:(CGRect)bounds {
    [super setBounds:bounds];
    self.contentView.frame = bounds;
}

谢谢你! 自定义CollectionViewCell,显示时大小问题