Все и каждая книга утверждают, что в CALayer происходят неявные анимации. Тем не менее, каждый раз, когда я хотел проверить, что до сих пор, я получаю жесткую привязку к установленному значению. Нет анимации вообще.
Вот пример в проекте, где больше ничего не происходит. Все, что я делаю, это создаю представление, затем получаю его экземпляр CALayer и делаю что-то, что должно быть неявно анимированным.
[theLayer setValue:[NSNumber numberWithFloat:M_PI * 1.1] forKeyPath:@"transform.rotation.z"];
Еще один:
CGRect currentBounds = theLayer.bounds;
currentBounds.size.width += 120.f;
[self.animatedLayer setBounds:currentBounds];
Конечно, представление содержит некоторые вещи, чтобы я мог видеть изменения.
Я вижу визуальное изменение, но как жесткую оснастку. Без анимации вообще.
Значит, либо все эти книги неверны и имеют в виду старые знания Mac OS X при написании Core Animation и неявных анимаций, либо я делаю что-то не так. Кто-нибудь может привести рабочий пример, демонстрирующий неявную анимацию на iPhone?