iPad来自表格单元格的模态视图控制器的动画

时间:2012-07-05 17:13:16

标签: ios uitableview modalviewcontroller uimodaltransitionstyle

所以我正在创建一个在UITableView中显示图像的iPad应用程序,当选择行/图像时,它会推动另一个全屏播放视频的视图控制器。这一切都正常,但我想动画从表格中的图像原始大小到全屏视频的过渡。此视频在http://www.apple.com/ipad/videos/#itunes中显示我想要的大约1秒钟。那么我如何获得所选单元格的框架?我如何将视图从单元格框架转换为全屏?

以下是我现在正在进行的转变:

- (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 个答案:

答案 0 :(得分:0)

有一个名为UAModalPanel的开源项目,它对你想要达到的目标做了一些非常微笑的事情。您需要通过调用UITableView方法获取单元格视图:

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

然后您需要使用以下方法将单元格的中心点转换为超视图坐标平面:

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

然后您可以将此中心点传递到面板以从那里显示。




完全披露:我是该项目的维护者。