0

そこで、UITableViewに画像を表示するiPadアプリを作成しています。行/画像を選択すると、ビデオを全画面で再生する別のViewControllerがプッシュされます。これはすべて正常に機能していますが、テーブル内の画像の元のサイズからフルスクリーンビデオへの遷移をアニメーション化したいと思います。このビデオは、 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];
    }
}
4

1 に答える 1

0

UAModalPanelと呼ばれるオープンソースプロジェクトがあります。これは、あなたが達成しようとしていることに非常に微笑む何かをします。UITableViewメソッドを呼び出してセルビューを取得する必要があります。

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

次に、以下を使用して、セルの中心点をスーパービュー座標平面に変換する必要があります。

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

次に、この中心点をパネルに渡して、そこから表示できます。




完全開示:私はプロジェクトのメンテナーです。

于 2012-07-05T17:31:19.503 に答える