Неявная анимация не работает - PullRequest
2 голосов
/ 29 декабря 2011

У меня есть подкласс UIView, который стремится создать закругленное прямоугольное наложение поверх одного из его подвидов.

Когда я использую приведенный ниже код, конечно же, зеленый прямоугольник с закругленными углами появляется там, где я хочу, но независимо от того, что я делаю, я не могу заставить его исчезать.

CALayer *parentLayer = [self layer];

// Create a new layer and configure it to be a rounded rect box overlay
CALayer *layer = [CALayer layer];
layer.position = [slider layer].position;
layer.bounds = CGRectMake(0.0, 0.0, kWTFSliderWidth, kWTFSliderHeight);
layer.backgroundColor = [UIColor clearColor].CGColor;
layer.cornerRadius = 5.0;
layer.borderColor = [UIColor greenColor].CGColor;
layer.borderWidth = 3.0;

// Add the layer with a fade in to the parent layer
[parentLayer addSublayer:layer];

Нужно ли вручную добавлять CABasicAnimation в родительский слой? Разве экземпляр по умолчанию уже не должен присутствовать в parentLayer action словаре?

1 Ответ

3 голосов
/ 29 декабря 2011

Замените ваш addSublayer: вызов следующим:

layer.hidden = YES;
[parentLayer addSublayer:layer];
[CATransaction flush];
layer.hidden = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...