我做了很多次尝试,以获得与拨打电话号码时相同的切换效果:前视图取消了缩放效果,而另一个也出现了缩放效果。
我无法实现这种效果,它始终是如此。似乎有一个规模效应,对不透明度采取行动,但......
你知道如何做到这一点来反映这种影响(不是马马虎虎,我有很多这样的影响)?
答案 0 :(得分:-1)
// Make this interesting.
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
self.view.alpha = 0.0;
self.view.frame = CGRectMake(self.view.center.x,self.view.center.y , 0, 0);
[UIView commitAnimations];
}
我希望这是一个更好动画的框架。它不能保证工作,但它是我能想到的最好的过渡的第一部分。
这会改变视图控制器视图的框架,使其“吸”到屏幕中心,这是一种自然的黑色。现在我考虑一下,CGAffineTransform会更容易......
编辑(为了迂腐):从iOS 4开始,你现在可以使用更新的,语法更干净的动画块和一个很好的转换:[UIView animateWithDuration:0.25 delay:0.0 options:0 animations:^{
//animate the toolbars in from the top and bottom
[myTopView setFrame:CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44)];
[myBottomView setFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];
//fade to black...
self.view.alpha = 0.0;
//and suck inwards.
self.view.frame = CGRectMake(self.view.center.x,self.view.center.y , 0, 0);
}
completion:^{
//do something to end nicely, or start another animation block.
}];