首页 > 代码库 > setAnimationTransition:forView:cache: 运行动画时背景色问题
setAnimationTransition:forView:cache: 运行动画时背景色问题
首先我描写叙述一下问题:当我从一个view到另外一个view的时候?
解答:这个问题的解决还须要看setAnimationTransition:forView:cache: 官方Api,官方是这样说的:
1.Begin an animation block.
2.Set the transition on the container view.
3.Remove the subview from the container view.
4.Add the new subview to the container view.
5.Commit the animation block.
1.開始一个动画块。
2.在容器视图中设置转换。
3.在容器视图中移除子视图。 4.在容器视图中加入子视图。
5.结束动画块。
就是他全部的操作都是在父View上进行操作的,我的代码是这样写得:
AppDelegate * delegate = [UIApplication sharedApplication].delegate; delegate.nav_Center.view.backgroundColor = [UIColor clearColor]; //[delegate.window setBackgroundColor:[UIColor whiteColor]]; [self.navigationController.view superview].backgroundColor = [UIColor whiteColor]; for (UIViewController * c in delegate.nav_Center.viewControllers) { if([c isKindOfClass:[TrendViewController class]]) { if (curve>=0) { [UIView beginAnimations: @"PopNav" context: nil]; [UIView setAnimationCurve: curve]; [UIView setAnimationDuration:0.75]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; NSLog(@"===%@=%@",[[self.navigationController.view superview] class],[self.navigationController.view class]); [self.navigationController popViewControllerAnimated:NO]; [UIView commitAnimations]; } else { [self.navigationController popViewControllerAnimated:YES]; } return YES; } }
直接设置要切换到view的父view的背景色就ok了。当然了,有时候他的父view也可能是window。
详细情况详细分析吧。
希望能帮助一些人。
setAnimationTransition:forView:cache: 运行动画时背景色问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。