iPad Анимация контроллера модального вида из ячейки таблицы

Поэтому я создаю приложение для iPad, которое отображает изображения в UITableView, и когда при выборе строки / изображения выбирается другой контроллер представления, который воспроизводит видео в полноэкранном режиме. Это все работает правильно, но я хочу анимировать переход от исходного размера изображения в таблице к полноэкранному видео. Это видео показывает, что я хочу примерно за 1 секунду в http://www.apple.com/ipad/videos/. Так как бы получить кадр выбранной ячейки? И как бы я перевести вид из рамки ячейки на полный экран?

Вот как я сейчас делаю переход:

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath 
{
    if (indexPath.row == 0) 
    {
        VideoViewController * video1 = [[VideoViewController alloc] init];
        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:video1];
        navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        navController.modalPresentationStyle = UIModalPresentationFullScreen;
        navController.navigationBarHidden = YES;

        [self presentModalViewController:navController animated:YES];
    }
}

1 ответ

Решение

Существует проект с открытым исходным кодом под названием UAModalPanel, который делает что-то очень похожее на то, чего вы пытаетесь достичь. Вам нужно получить представление о ячейке, вызвав метод UITableView:

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

Затем вам нужно преобразовать центральную точку ячейки в координатную плоскость суперпредставления, используя:

 - (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;

Затем вы можете передать эту центральную точку на панель, чтобы показать оттуда.




полное раскрытие: я поддерживаю проект.

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