UIColllectionView does not respect layout

I want to change the view schema of collections after rotation to resize the cell. Works great in the simulator. IPhone 6 doesn't.

The code looks like this:

-(void)viewDidLoad {
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
        self.collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];
        [_collectionView registerClass:[TLListCell class] forCellWithReuseIdentifier:kTLAsyncListCell];
        _collectionView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
        _collectionView.contentInset = UIEdgeInsetsMake(LIST_GAP, LIST_GAP, LIST_GAP, LIST_GAP);
        _collectionView.backgroundColor = [UIColor clearColor];
        _collectionView.dataSource = self;
        _collectionView.delegate = self;
        UIRefreshControl *refreshControl = [self reportRefreshControl];
        [_collectionView addSubview:refreshControl];
       [self.view addSubview:_collectionView];
}

-(void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
    layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    layout.itemSize = CGSizeMake(20, 20);
    [self.collectionView setCollectionViewLayout:layout animated:YES completion:nil];
    // collection view doesn't respect this layout
}

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    // not called after changing the layout!!!
}

      

+3


source to share





All Articles