奇葩2: storyboard中使用AutoLayout,设置Label居中,但不起作用

具体描述:

UICollectionViewCell中的所有控件,设置了居中,但是实际效果都是偏左一点。

之前都是没有问题的。 不知道改动了什么。其他页面没有问题。UICollectionView中新添加一个cell,也是偏左。

左图,storyboard中的设计, 右图,模拟器中实际跑出来的结果。

奇葩2: storyboard中使用AutoLayout,设置Label居中,但不起作用_第1张图片    奇葩2: storyboard中使用AutoLayout,设置Label居中,但不起作用_第2张图片


原因:


不明

解决办法:

storyboard中设置了UICollectionView的CellSize为260,336。

奇葩2: storyboard中使用AutoLayout,设置Label居中,但不起作用_第3张图片

代码中动态改变了cellSize的值

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) {
            //平板横屏大小
            return CGSizeMake(310,372);
        }else{
            //平板竖屏大小
            return CGSizeMake(350,420);
        }
    }
    else
    {
        //手机大小
        return CGSizeMake(260,336);
    }
}

经过多次尝试发现,代码中和storyboard中,CellSize的宽度设置不一致,效果就不一样。

最终是设置260的时候,正好是居中的。 大于260,偏左,小于260偏右。原因不明。




你可能感兴趣的:(奇葩天天有)