0

我已经在许多应用程序上看到了这种效果,包括 YouTube、Fandango、iPod 电影播放器​​、Netflix 应用程序,不胜枚举……它们正在显示导航控制器 UI,而您选择播放电影(从当前视图控制器上的按钮),然后导航栏和视图控制器同时从屏幕上滑下,然后显示视频播放器。

我知道如何实现这种效果的唯一方法是,如果当前视图控制器(带有播放按钮)是通过 presentModalViewController 加载的,那么调用dismissModalViewControllerAnimated:YES 就可以了。但是,上面并没有这样做,因为我可以清楚地看到当前视图控制器从右侧滑入,这是从导航控制器调用 pushViewController 导致的典型行为。

有任何想法吗?

4

1 回答 1

1

对于初学者,您可能必须调用[self presentModalViewController:moviePlayerViewController animated:YES]最顶层的控制器。在您的情况下,这将是导航控制器。例如

// 初始化moviePlayerViewController
[self.navigationController
  presentModalViewController:moviePlayerViewController
                    动画:是];

但是这个解决方案只会淡入电影控制器,它不会将导航控制器的视图滑开。为此,您必须以所需的方式为视图设置动画。我推荐以下解决方案:

推送 UIViewController 的自定义动画

动画完成后,您将显示电影播放器​​控制器。

于 2011-03-06T17:29:18.690 回答