UIViewControllerTransistion, как в приложении Apple для подкастов

У меня есть вопрос по iOS7 и Custom UiViewControllerTransistion. Я хочу сделать пользовательский переход между полноэкранным UiCollectionView и модальным представлением (iPad) с подробной информацией о выбранном элементе в collectionView. Анимация должна быть такой, что при нажатии на элемент в коллекции элемент будет масштабироваться / масштабироваться до конечной позиции модального вида с деталями, а когда вы нажмете затем за пределами модального вида, модальный будет автоматически отклонен. Анимация отклонения должна быть своего рода обратной анимацией. Похоже, что модальное представление "отступает" к элементу в UICollectionView. Переход происходит так же, как в приложении Apple Podcasts на iPad, когда вы выбираете Podcasts, и он показывает вам подробности Podcats в виде модального вида. Я надеюсь, вы понимаете, что я имею в виду:)

Так что я понятия не имею, является ли это только пользовательским переходом или мне нужен пользовательский uicollectionviewlayout для него. Было бы хорошо, если бы вы могли объяснить, что я должен сделать для этого.

xxAvarlonxx

1 ответ

Вы должны получить кадр повернутого collectionViewItem. Это делается следующим образом

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    UICollectionViewLayoutAttributes *attributes = [collectionView layoutAttributesForItemAtIndexPath:indexPath];
    CGRect cellRect = [attributes frame];
}

Затем вы запускаете ваш viewcontroller, устанавливаете его кадр в кадр ячейки и затем используете -animateWithDuration:completion: сделать анимацию.

Я действительно делал это даже в iOS6.

Надеюсь, это поможет.

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