私はさまざまなオプションを試しましたが、約 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 秒間で不透明から完全に透明にスムーズに移行します。2回以上タップすると、10秒間そこに留まり、ハートビートの間透明になり、完全に不透明に戻ります。
毎回スムーズにアニメーション化するにはどうすればよいですか?
前もって感謝します!