我试图在淡入黑色时切换视图(XIB)。我一直在使用UIView动画这样做,我想保持这种方式。问题是每当我切换视图时,我都不会褪色,而是直接淡化到下一个XIB。
我如何正确地做到这一点?
这是我的代码(在我的情况下是self.view = view1.view,但也许我不应该这样做):
[self.view setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:1.0]];
[UIView animateWithDuration:0.4
animations:^{
[view1.view setAlpha:0];
}
completion:^(BOOL finished){
[self.view.superview addSubview:view2.view];
[view2.view setAlpha:0];
[view2.view setFrame:CGRectMake(0, 0, 320, 480)];
[UIView animateWithDuration:0.4
animations:^{
[view2.view setAlpha:1];
}
completion:^(BOOL finished){
[view1.view removeFromSuperview];
}];
谢谢!
答案 0 :(得分:1)
我认为你的问题是self.view的背景颜色是该视图的 part 。淡出视图时,它也会淡化背景。
相反,你应该放置一个你一直留在屏幕上的视图,它是空的,背景为黑色,位于view1或view2后面。