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