在 objective-c
中,我想将淡入和淡出动画添加到 UIView
。我想连续做淡出和淡入动画。为了说明它,我想要的效果如下:
淡出 - 淡入 - 淡出 - 淡入 - ...
我正在尝试的是如下:
-(void)fadeOutIn:(UIView *)view duration:(NSTimeInterval)duration
{
static CGFloat alpha = 1.0;
[UIView animateWithDuration:duration
delay:0.0
options: UIViewAnimationOptionRepeat| UIViewAnimationOptionCurveEaseInOut
animations:^{
alpha = abs((int)(alpha - 1.0));
view.alpha = alpha;
}
completion:^(BOOL finished){
}];
}
我也试过以下:
-(void)fadeOutIn:(UIView *)view duration:(NSTimeInterval)duration
{
[UIView animateWithDuration:duration
delay:0.0
options: UIViewAnimationOptionRepeat| UIViewAnimationOptionCurveEaseInOut
animations:^{
view.alpha = 0.0;
}
completion:^(BOOL finished){
[UIView animateWithDuration:duration
delay:0.0
options: UIViewAnimationOptionRepeat|UIViewAnimationOptionCurveEaseInOut
animations:^{
view.alpha = 1.0;
}
completion:^(BOOL finished){
}];
}];
}
但问题是它们的工作原理是一样的,即 UIView
会正确淡出并且突然出现(不是淡入),然后再次淡出。 ..
似乎动画淡入淡出根本不起作用。请问有人知道我的代码有什么问题吗?任何建议将不胜感激。
最佳答案
试试这个
[UIView animateKeyframesWithDuration:1 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse|UIViewAnimationCurveEaseInOut animations:^{
self.customIV.alpha = 0;
} completion:^(BOOL finished) {
}];
关于iOS连续淡出淡入动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32043880/