Как я постепенно появляюсь / прямоугольник или текст?

Я хочу достигнуть эффекта, постепенно появляются / постепенно исчезают реагирование или текст. Я называю CGContextFillRect или CGContextShowText в drawRect моего UIVIEW: метод. Интересно, существует ли способ достигнуть анимации, не используя UIView' поддержка (т.е. [UIView beginAnimations::]. Желаемый эффект, которого я хочу достигнуть, подобен тому, что в механизме поиска резкого звука Microsoft, как те небольшие черные квадраты исчезают в/, постепенно исчезают, поскольку Вы перемещаете веб-страницу.Заранее спасибо!

5
задан Brad Larson 21 December 2009 в 16:24
поделиться

1 ответ

Почему вы не хотите использовать блоки анимации UIView? Анимировать изменение непрозрачности представления (UILabel или иначе) с помощью этого довольно просто. Например, следующий код приведет к исчезновению данного представления в течение 0,5 секунды:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];

viewToFadeOut.alpha = 0.0f;

[UIView commitAnimations];  

Для постепенного появления просто замените альфа-значение 0,0f на 1,0f.

Вы можете сделать то же самое, используя созданный вручную CABasicAnimation, манипулирование слоем UIView:

CABasicAnimation *fadeOutAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeOutAnimation.duration = 0.5f;
fadeOutAnimation.removedOnCompletion = NO;
fadeOutAnimation.fillMode = kCAFillModeForwards;
fadeOutAnimation.toValue = [NSNumber numberWithFloat:0.0f];
[viewToFadeOut.layer addAnimation:fadeOutAnimation forKey:@"animateOpacity"];

Если все, что вы хотите сделать, это постепенно увеличивать / уменьшать границу вокруг вида, попробуйте анимировать свойство borderColor слоя UIView (то же самое, что и вышеупомянутый CABasicAnimation, только заменив opacity opacity с borderColor и toValue с CGColor, приведенным к id ).

23
ответ дан 18 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: