更改集合视图流布局

时间:2015-07-10 01:07:13

标签: ios collectionview flowlayout

我在切换流程布局方面存在这个问题,在视图调试器中它会更改为我想要的流程布局,但是在模拟器和手机上它是一个乱七八糟的混乱。我一直在寻找答案或问题是什么,我找不到解决方案。 ![左侧是我试图完成的以及视图调试器的外观,右边是模拟器] [1]

这里是collectionview和流程布局的代码 -

(void)setupCollectionView
{
    CGRect mainscreen = [[UIScreen mainScreen]bounds];

    self.originalLayout = [[UICollectionViewFlowLayout alloc]init];
    self.otherLayout = [[UICollectionViewFlowLayout alloc]init];


    self.collectionView = [[UICollectionView alloc]initWithFrame:mainscreen collectionViewLayout:self.originalLayout];
    self.collectionView.delegate = self;
    self.collectionView.dataSource = self;
    [self.collectionView registerClass:[MyCollectionViewCell class] forCellWithReuseIdentifier:@"Cell"];
    [self.collectionView setPagingEnabled:YES];

    [self.originalLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
    [self.originalLayout setMinimumInteritemSpacing:0.0f];
    [self.originalLayout setMinimumLineSpacing:0.0f];
    self.originalLayout.itemSize = CGSizeMake(self.collectionView.frame.size.width, self.collectionView.frame.size.height);

    [self.otherLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
    [self.otherLayout setMinimumInteritemSpacing:10.0f];
    [self.otherLayout setMinimumLineSpacing:10.0f];
    self.otherLayout.itemSize = CGSizeMake(self.view.frame.size.width/2, self.view.frame.size.height/2);

    [self.view addSubview:self.collectionView];
}

-(void)changeLayout
{
    if (self.topBar.hidden == NO) {
        self.topBar.hidden = YES;
        self.bottomBar.hidden = YES;
    }
    if (self.swapCollectionViewLayout == NO) {
        self.swapCollectionViewLayout = YES;

        [self.collectionView setPagingEnabled:NO];

        [self.collectionView setCollectionViewLayout:self.otherLayout animated:YES];

        [self.collectionView reloadData];
    }
    else
    {
        [self.collectionView setCollectionViewLayout:self.originalLayout animated:YES];
        self.collectionView.pagingEnabled = YES;
        self.swapCollectionViewLayout = NO;
        [self.collectionView reloadData];
    }

以下是该问题照片的链接 https://www.facebook.com/photo.php?fbid=909831825747700&l=340de9351b

0 个答案:

没有答案
相关问题