Как передать представление другому контроллеру во время пользовательской анимации push и pop в ios?

Я использую пользовательский переход UIViewControllerAnimatedTransitioning. Я смог анимировать целые контроллеры для push и pop.
Но мне нужно еще одно: уменьшить вид заголовка и растянуть выбранную ячейку таблицы, а также добавить текст в растянутую ячейку. Это будет мой нажатый контроллер.

Как я могу добиться этого, когда часть моего нажатого контроллера исходит от раскадровки, а другая часть от предыдущего контроллера?

Не могу найти учебник для этого. Только как анимировать целые контроллеры.

upd:
Я видел этот ответ: https://stackoverflow.com/a/23580502/1400119, но мне это не очень помогло.

upd2:
наконец-то достиг цели. Вот ссылки на сообщения в блогах и репозитории, которые мне очень помогли, возможно, они помогут и кому-то:
UINavigationControllerDelegate Apple doc
UIViewControllerContextTransitioning Apple doc

Как анимировать изображение в tableview для одновременного расширения и открытия другого контроллера представления?
Пользовательский переход контроллера навигации анимация

http://captechconsulting.com/blog/tyler-tillage/ios-7-tutorial-series-custom-navigation-transitions-more http://dativestudios.com/blog/2013/09/29/interactive-transitions/
http://www.objc.io/issue-12/custom-container-view-controller-transitions.html

https://github.com/mariohahn/MHVideoPhotoGallery


person trickster77777    schedule 12.11.2014    source источник
comment
Возможно, эти ссылки могут занять лучшее место в вики-тегах (если они еще существуют), или, может быть, вы могли бы сами ответить на свой вопрос (но не публикуйте только ссылки, потому что этот ответ будет удален)   -  person rene    schedule 17.11.2014


Ответы (1)


Используйте анимацию на ячейке таблицы. Как я сделал для представления коллекции в следующем примере.

 [UIView animateWithDuration:.1 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{
            [_collectionView setAlpha:1];
        }
        completion:^(BOOL finished) {
            [UIView animateWithDuration:.5 delay:0.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
                _collectionView.center = CGPointMake(160, 528);

            }
            completion:^(BOOL finished) {
            }];
        }];
person Federica Venuto    schedule 12.11.2014
comment
Это просто изменение некоторых свойств представления. И на самом деле не работает в animateTransition:(id ‹UIViewControllerContextTransitioning›)transitionContext Мне интересно, как передать одно представление с анимацией с первого контроллера на второй? Как будто приложение Pinterest действует со своими ячейками. - person trickster77777; 12.11.2014
comment
Я думаю, что вы можете использовать его в -(void)viewWillAppear:(BOOL)animated нажатого контроллера. После окончания перехода, анимации нужно анимировать элементы. - person Federica Venuto; 13.11.2014
comment
Мне нужна эта анимация: youtu.be/ICUP16plZDI?t=1m34s она на самом деле делается вместо стандартная пуш-анимация, и ее нельзя сделать ни одним из методов появления-исчезновения. Кажется, мне нужно сделать снимок каждого вида, который мне нужен для анимации и имитации анимации ( - person trickster77777; 13.11.2014