2011-09-29 10 views
0
  • с [myLayer setName:@"layer_1"] Я установил имя слоя. Но как я могу получить его из другого метода? Есть что-то вроде [self.view.layer.sublayers getLayerByName:@"layer_1"]?
  • Как анимировать CALayer, чтобы переместить его в другое положение с приятным гладким эффектом?

ответ

3

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

Что касается анимации, если вы используете созданный вами CALayer, вы будете получать неявные анимации при изменении свойств. Вы можете установить явные анимации, используя подклассы CAAnimation, и вы также можете настроить некоторые параметры неявных с помощью CATransaction.

Если вы используете слой, связанный с UIView, все неявные анимации отключены. Вы все же можете создавать явные с помощью подклассов CAAnimation, или вы можете использовать UIView animation methods.

+0

Для слоя, связанного с 'UIView', вы имеете в виду' self.view.layer' правильно? Я создал новый слой с 'CALayer * layer = [CALayer layer]'. Анимация работает отлично. Для получения моего слоя, созданного в методе viewDidLoad, я использую переменную экземпляра 'CALayer * mylayer', это нормально? Благодарю. –

+0

Да, слой, вытащенный из 'view.layer', будет иметь скрытую анимацию. Слой, созданный с помощью '[CALayer layer]', будет поддерживать неявные анимации просто отлично. –

Смежные вопросы