2013-07-01 1 views
0

Я хотел бы добавить отражение в ячейки коллекции. У меня есть метод, который создает отражение, но я не знаю правильного времени для создания моментального снимка.UICollectionViewCell отражение - подходящее время для снятия снимка ячейки

Я попытался сделать это в представлении коллекции -viewWillAppear :, но содержимое contentView имеет нулевые размеры для своих подзонов. Я также попытался сделать снимок во время просмотра -layoutSubviews ячейки, но кадры подзадача по-прежнему 0.

В какой момент макет ячейки установлен так, чтобы я мог сделать снимок?

+0

Я не мог воспроизвести кадры нулевого размера в ячейки 'layoutSubviews' (после вызова' [супер layoutSubviews] ', конечно). Можете ли вы опубликовать свой контроллер и пользовательский исходный код? Используете ли вы автоматический макет? –

+0

Я использую автоматический макет. Я создал репозиторий github, вот URL: https://github.com/bolchisbolchis/reflection –

ответ

0

Снимок должен быть сделан после того, как ячейка была добавлена ​​в представление коллекции, и после того, как ячейка была удалена из источника данных просмотра коллекции. Это гарантирует, что снимок будет в курсе, содержащий вид содержимого ячейки в нужный момент (когда он собирается добавить к просмотру коллекции, и после того, как она только что была удалена из очереди):

CollectionViewCell.m

- (void)didMoveToSuperview { 
    [self updateSnapshotImage]; 
} 

CollectionViewController.m

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath]; 
    [cell updateSnapshotImage]; 
    return cell; 
} 
Смежные вопросы