从一个视图移动到另一个视图时如何添加过渡效果?
例如,当单击按钮调用 addSubView 时,会加载一个新视图。这样做时我想要像“滑入”这样的过渡效果/动画?另外,返回原始视图时如何添加“滑出”过渡?
请帮忙
从一个视图移动到另一个视图时如何添加过渡效果?
例如,当单击按钮调用 addSubView 时,会加载一个新视图。这样做时我想要像“滑入”这样的过渡效果/动画?另外,返回原始视图时如何添加“滑出”过渡?
请帮忙
这可以通过简单的UIView
动画来完成。这里有几个例子。
这将使 alpha 从 0.0 到 1.0 产生淡入效果:
UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[secondView setAlpha:0.0];
[self.view addSubview:secondView];
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[secondView setAlpha:1.0];
}completion:^(BOOL done){
//Some completion handler!
}];
然后您可以深入CGAffineTransforms
研究以处理移动视图。此示例将从屏幕的左下角移入新视图。
UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(320, 480, 320, 480)];
[self.view addSubview:secondView];
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[secondView setTransform:CGAffineTransformMakeTranslation(-320, -480)];
}completion:^(BOOL done){
//Some completion handler!
}];
使用这样的块,您几乎可以制作任何您想要的简单到中间动画。