Я хочу, чтобы высота navigationBar стала 22 с анимацией, мой код похож на следующий, почему он не работает?

CGMutablePathRef path = CGPathCreateMutable();

CGRect rect = self.navigationController.navigationBar.frame;
CGPathAddRect(path, NULL, rect);
rect.size.height = 22;
CGPathAddRect(path, NULL, rect);

CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"scale"];
[animation setPath:path];
[animation setDuration:1.0];

[animation setAutoreverses:YES];
CFRelease(path);
[self.navigationController.navigationBar.layer addAnimation:animation forKey:NULL];
0
Dracuuula 1 Янв 2014 в 10:35

1 ответ

Лучший ответ

Я нахожу такой же вопрос, как и я, в stackoverflow, URL-адрес этого вопроса Анимация кадра с CoreAnimation

Они сказали, что кадр не может быть изменен с помощью CAKeyframeAnimation. Возможно, это ошибка, или CAKeyframeAnimation не может быть достигнута изначально.

Пока я не получил ответа. Может быть, мой вопрос нечетко выражен, или по другой причине. Итак, положите конец проблеме в этом статусе.

0
Community 23 Май 2017 в 13:33