Лучший способ сделать анимацию UILabel в Cocoa Touch? - PullRequest
1 голос
/ 13 ноября 2010

В прошлом, когда я хотел сделать красивую анимацию постепенного исчезновения из одного текста UILabel в другой, я добавил следующее:

[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationDuration:0.25];
myLabel.alpha = 0.0;
myLabel.text = @"Different string";
myLabel.alpha = 1.0;
[UIView commitAnimations];

Как вы, вероятно, можете сказать, ярлык быстро исчезает, изменяет содержимое, а затем возвращается обратно.

Я видел некоторые случаи в других приложениях, где текст, кажется, просто плавно исчезает - не кажется, что он постепенно исчезает и возвращается обратно.

Это только у меня так или есть лучший способ добиться этого?

Спасибо. Рикки.

1 Ответ

3 голосов
/ 13 ноября 2010

Надеюсь, это поможет.

    -(void)showButton:(UIButton *)button {
        CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
        opacityAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
        opacityAnimation.toValue = [NSNumber numberWithFloat:1.0f];

        button.hidden = NO;

        [button.layer addAnimation:opacityAnimation 
                            forKey:@"opacity"];
    }

    -(void)hideButton:(UIButton *)button {

        CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
        opacityAnimation.fromValue = [NSNumber numberWithFloat:1.0f];
        opacityAnimation.toValue = [NSNumber numberWithFloat:0.0f];
        button.hidden = YES;

        [button.layer addAnimation:opacityAnimation 
                            forKey:@"opacity"];
    }
...