Я пробовал много разных опций и просмотрел около 15 ответов в стеке, и я просто не могу понять это.UIView animateWithDuration не работает второй раз
Код в основном пытается исчезнуть, а затем всплывает назад, каждый раз, когда происходит крана. Он работает отлично в первый раз, но не будет работать в последующие времена.
- (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 секунд. Второй + tap (s) он будет сидеть там в течение 10 секунд, затем перейти прозрачно для сердечного ритма, а затем снова вернуться в полностью непрозрачный.
Как я могу заставить его плавно анимировать каждый раз?
Заранее благодарен!
Какую анимацию вы ожидаете на самом деле? При кратковременном нажатии вид должен медленно исчезать в течение 10 секунд. Как только его полностью исчезли, внезапно вы хотите сделать его видимым. Я прав? –