UILabel постепенный исчезающий вопрос - PullRequest
2 голосов
/ 07 апреля 2010

Я получил следующий код внутри селектора NSTimer:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[infoLbl setAlpha:0];
[UIView commitAnimations];

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[infoLbl setAlpha:1];
[UIView commitAnimations];

Поэтому я хочу реализовать простой цикл постепенного появления / исчезновения для UILabel (infoLbl).

Что ж, с этим кодом я получаю только шаг постепенного появления, поскольку UILabel внезапно исчезает, а затем исчезает.

Некоторые предложения?

Спасибо.

Ответы [ 2 ]

10 голосов
/ 07 апреля 2010
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView setAnimationDuration:2.0];
[infoLbl setAlpha:0];
[UIView commitAnimations];

//This delegate is called after the completion of Animation.
-(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
  [UIView beginAnimations:nil context:NULL];
  [UIView setAnimationDuration:2.0];
  [infoLbl setAlpha:1];
  [UIView commitAnimations];

}

Кроме того, если вы используете NStimer Selecor, не пытаетесь ли вы изменить цвет текста uilabel? как:

-(void)timerSelector
{
    if([textLabel textColor] == [UIColor blackColor])
    {
        [textLabel setTextColor:[UIColor grayColor]];   
    }
    else
    {
        [textLabel setTextColor:[UIColor blackColor]];  
    }
}

Вышеуказанный метод позволит вам легко зацикливаться в цикле.

0 голосов
/ 07 апреля 2010

Сначала введите значение, установив animationDidStopSelector: и внутри селектора (см. Документацию для получения дополнительной информации), скажите, чтобы оно исчезло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...