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.
Надеюсь, это поможет.