Chr*_*hen 48 iphone ipad uiinterfaceorientation ios
所以我按照这个线程:RootViewController Switch Transition Animation将window.rootViewController从A转移到B到C.代码如下所示:
[UIView transitionWithView:self.window
duration:0.5
options: UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
self.window.rootViewController = newViewController;
}
completion:nil];
Run Code Online (Sandbox Code Playgroud)
问题是我的应用程序只支持横向,但在rootViewController过渡期间,新的视图控制器以纵向模式显示,而不是快速旋转到横向模式.
我确定:
可能是另一个原因?
Kal*_*lle 119
我刚刚调查了这一点,因为我一直遇到同样的问题.我随机尝试了以下内容,它完美地工作:
[UIView
transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^(void) {
BOOL oldState = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:NO];
[(ICApp *)sharedApplication.delegate window].rootViewController = self;
[UIView setAnimationsEnabled:oldState];
}
completion:nil];
Run Code Online (Sandbox Code Playgroud)
我知道在动画块中禁用/启用动画有点奇怪,但交叉消除了动画,旋转没有 - 视图控制器似乎已经旋转并准备好滚动.
只需输入另一个动画选项UIViewAnimationOptionAllowAnimatedContent:
[UIView transitionWithView:self.window duration:0.5 options:(UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent) animations:^{
self.window.rootViewController = newViewController;
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15195 次 |
| 最近记录: |