CollectionViewCell中的标签/图像不居中

时间:2015-10-16 17:56:04

标签: ios uicollectionview

我有一个自定义的collectionview单元格,它有几个标签和一个图像,都在单元格中水平居中。它在故事板中看起来很棒(一切都局限于中心X)。单元格的大小可调整到屏幕宽度,以便每行显示2个单元格。

当我运行具有不同屏幕尺寸的应用时,没有任何项目居中。标签和图像彼此正确居中,但它们在单元格中偏离中心。有没有经验解决这个问题?非常感谢![![在此处输入图片说明] [1]] [1]

编辑1: 我查了一下,这不是电池上的限制因素搞砸了。

编辑2: 它似乎在我的sizeForItemAtIndexPath:。当我注释掉这个功能时,单元格布局完美,但间距变得混乱。屏幕越大,细胞越远。我希望所有细胞之间有2个空间。

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

      return CGSize(width: collectionView.frame.size.width / 2 - 3, height: collectionView.frame.size.width / 2 - 3)
   }

2 个答案:

答案 0 :(得分:0)

声音就像你在标签和图像本身之间创建了居中约束,而不是实际的细胞。确保在标签和单元格之间以及图像和单元格之间创建了居中约束。但是,如果没有你当前限制的图片,那就没有任何意义。

答案 1 :(得分:0)

我遇到了类似的问题,对我来说有用的是在我的代表中为collectionView:layout:insetsForSectionAtIndex:(在UICollectionViewDelegateFlowLayout协议中定义)添加了一个实现。

例如:

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView
                        layout:(UICollectionViewLayout *)collectionViewLayout
        insetForSectionAtIndex:(NSInteger)section {
    return UIEdgeInsetsZero;
}