2013-11-29 8 views
0

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

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

xxAvarlonxx

ответ

0

Вы должны получить кадр повернутой collectionViewItem. Это сделано, как следует

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

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

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

Я надеюсь, что это поможет.

+0

Да, это близко к моей лучшей идее на данный момент. Дайте AnimationController фрейм выбранного элемента, а затем сделайте снимок UIview для toView, и вставьте его в кадр выбранного элемента и запустите анимацию для реального toViewFinalFrame. Теперь мне нужно знать, как получить кадр выбранного элемента. Кто может это знать? Коллекция CollectionView? Раздел в представлении коллекции? У кого-нибудь есть идея? – xxAvarlonxx

+0

См. Мой обновленный ответ –

+0

Хорошо, это кажется легким. Вам нужна только выбранная ячейка и вы можете взять из нее фрейм «cell.frame». Ничего себе, когда он работает, я буду очень удивлен, насколько это легко :) – xxAvarlonxx