使用 transitionFromView:toView:duration:options:completion 但使用 addSubview 时,电影没有在横向模式下正确显示

Posted

技术标签:

【中文标题】使用 transitionFromView:toView:duration:options:completion 但使用 addSubview 时,电影没有在横向模式下正确显示【英文标题】:Movie not being shown right in landscape mode when using transitionFromView:toView:duration:options:completion but does when using addSubview 【发布时间】:2010-12-20 01:34:23 【问题描述】:

我有一个横向应用程序的电影,当我只做[self.view addSubview:movieView] 时,它工作正常,但是当我做transitionFromView:toView:duration:options:completion 时,它显示为好像它处于纵向模式。为什么会这样?如何让 trasitionFromView 工作?

【问题讨论】:

【参考方案1】:

没有控制器你可以只使用现有的视图:

   [UIView transitionWithView:fromView
                  duration:2 
                   options:UIViewAnimationOptionTransitionCurlUp
                animations:^
                    [fromView addSubview:toView];
                 
                completion:NULL];

【讨论】:

【参考方案2】:

使用transitionToView,您将替换层次结构顶部的self.view,因此movieView 不会继承当前边界;即它不知道它处于纵向模式。尝试为 addSubView 设置动画:

   [UIView transitionWithView:self.view
                      duration:2 
                       options:UIViewAnimationOptionTransitionCurlUp
                    animations:^
                        [self.view addSubview:aViewController.view];
                     
                    completion:NULL];

【讨论】:

以上是关于使用 transitionFromView:toView:duration:options:completion 但使用 addSubview 时,电影没有在横向模式下正确显示的主要内容,如果未能解决你的问题,请参考以下文章