Попытка усилить UIView без успеха

Я пытаюсь усилить UIView как подпредставление о моей главной точке зрения. У UIView, который я пытаюсь усилить, есть размеры 320x55.

Я установка представление и таймер;

secondView.frame = CGRectMake(0, 361, 320, 55);
secondView.alpha = 0.0;
[self.view addSubview:secondView];
[NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(fadeView) userInfo:NO repeats:NO];

Таймер вызывает следующий кодекс;

secondView.alpha = 1.0;
CABasicAnimation *fadeInAnimation;
fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeInAnimation.duration = 1.5;
fadeInAnimation.fromValue = [NSNumber numberWithFloat:0.0];
fadeInAnimation.toValue = [NSNumber numberWithFloat:1.0];
[fadeInAnimation setDelegate:self];
[secondView.layer addAnimation:fadeInAnimation forKey:@"animateOpacity"];

Мой secondView связан в Интерфейсном Строителе и отвечает на другие сообщения, но я не вижу, что что-либо происходит на экране.

Кто-либо может, пожалуйста, помочь мне выяснить то, что продолжается здесь?

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


В ответ на следующую рекомендацию:

Я немного не уверен здесь. Первоначально я вставил этот кодекс (потому что я рассматриваю secondView как случай UIView?):

[secondView beginAnimations:nil context:NULL]; 
[secondView setAnimationDuration:0.5]; 
[secondView setAlpha:1.0]; 
[secondView commitAnimations]; 

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

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 
[secondView setAlpha:1.0]; 
[UIView commitAnimations]; 

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


19
задан Ricky 25 January 2010 в 12:46
поделиться

2 ответа

Вы должны быть в состоянии сделать это немного проще. Вы пробовали что-то вроде этого?

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[secondView setAlpha:1.0];
[UIView commitAnimations];
43
ответ дан 30 November 2019 в 01:56
поделиться

Это не ответит на ваш вопрос, если вы настаиваете на использовании кореанамаций, но для iPhoneos намного проще использовать анимационные блоки для анимации UIView.

secondView.alpha = 0.0f;
[UIView beginAnimations:@"fadeInSecondView" context:NULL];
[UIView setAnimationDuration:1.5];
secondView.alpha = 1.0f;
[UIView commitAnimations];

Кроме того, вы можете вызвать делегата в отсроченном времени с

[self performSelector:@selector(fadeView) withObject:nil afterDelay:0.5];
11
ответ дан 30 November 2019 в 01:56
поделиться