我尝试了很多不同的选项,并查看了大约 15 个堆栈答案,但我无法弄清楚这一点。
代码基本上是试图淡出,然后每次点击时弹出一个视图。它第一次工作正常,但以后不会工作。
- (void)handleTap:(UIGestureRecognizer*)gestureRecognizer
{
self.view.transform = CGAffineTransformIdentity;
__block HelpScreenController* weakSelf = self;
[UIView animateWithDuration:10
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^(void) {
weakSelf.view.alpha = 0;
}
completion:^(BOOL finished) {
if (finished) {
weakSelf.view.alpha = 100.0f;
[weakSelf.view.layer removeAllAnimations];
[weakSelf.view setNeedsDisplay];
}
}];
}
它在第一次点击时完美运行 - 它在 10 秒内从不透明平滑过渡到完全透明。Second+ tap(s) 它会在那里停留 10 秒,然后变成透明的心跳,然后又回到完全不透明的状态。
我怎样才能让它每次都能流畅地制作动画?
提前致谢!