0

我有一个集合视图,无论什么设备都有 4 个大小相同的单元格适合屏幕上的一个区域。该区域是设备高度 20-50-3/2。20 是状态栏,50 是取消按钮,3 是顶部的 1px 线,介于单元格和底部之间。在 4" 屏幕上,纵向的单元格大小与横向的单元格大小相同,因此始终相同。但在 4S 上,单元格变得更大。我打电话

[self.collectionView.collectionViewLayout invalidateLayout];
[self.collectionView reloadData];

旋转时,但如果我滚动单元格,一些标签会向下移动,因为在单元格initWithFrame:方法中,我将文本标签框架设置为

        _textLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, frame.size.height-27.5, 148.5, 23)];

所以看起来这条线被调用是因为它们移动了,但是如果我向下滚动,然后再向上滚动,那么标签就会回到原来的位置。我如何才能完全重新加载这些数据并使其调整单元格的所有内容的大小,而不会在我滚动时弄乱和重新构建?

这是问题的图片,文本标签应该都在底部,或者在中间的位置:

在此处输入图像描述

这是我的单元格和集合视图代码:https ://gist.github.com/MaxHasADHD/cab99e06c7d1e2cf78bb

4

0 回答 0