为 View 设置动画很简单:
[UIView animateWithDuration:1.0
animations:^{theView.center = newCenter; theView.alpha = 0;}
completion:^(BOOL finished){
[theView removeFromSuperview];
}];
问题是,当我将其添加为 subview 时,我希望它淡入并看起来已经在移动。现在,它立即出现,然后移动并淡出。
因此,我需要将其初始alpha设置为零,在移动时快速将其淡入淡出,然后将其淡出。 UIView动画有可能吗?我不能在同一个对象上使用两个相互竞争的动画块,对不对?
最佳答案
您需要做的就是背对背应用2个动画。像这样的东西::
theView.alpha = 0;
[UIView animateWithDuration:1.0
animations:^{
theView.center = midCenter;
theView.alpha = 1;
}
completion:^(BOOL finished){
[UIView animateWithDuration:1.0
animations:^{
theView.center = endCenter;
theView.alpha = 0;
}
completion:^(BOOL finished){
[theView removeFromSuperview];
}];
}];
所以在第一秒它会在移动时出现,然后在下一秒它会淡出
希望这可以帮助
关于ios - 移动UIView时淡入或淡出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14779633/