UIColllectionView не соблюдает макет

Я хочу изменить макет представления моей коллекции после поворота, чтобы изменить размер ячейки. В симуляторе отлично работает. На iPhone 6 нет.

Код выглядит следующим образом:

-(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!!!
}

0 ответов

Другие вопросы по тегам