Почему методы Core Animation являются методами класса, а не методами экземпляра? - PullRequest
0 голосов
/ 15 августа 2011

В Core Core Animation почему методы beginAnimations: context: и commitAnimations являются методами класса UIView?
Почему мы не являемся методами экземпляра, поэтому мы кодируем:

[widget beginAnimations:@""];
[widget commitAnimations];

вместо:

[UIView beginAnimations:@"" context:widget];
[UIView commitAnimations];

1 Ответ

1 голос
/ 15 августа 2011

Метод класса beginAnimations:context: начинает анимационный «блок»:

[UIView beginAnimations:@"" context:nil];
view1.frame.x = 10;
view2.opacity = 0.5;
[UIView commitAnimations];

С помощью приведенного выше фрагмента view1 и view2 будут анимировать изменения внутри этого блока.

Свойство context НЕ является представлением, которое вы хотите анимировать, это просто информация, к которой можно получить доступ через методы делегата.

context

Пользовательские данныечто вы хотите связать с этим набором анимаций.информация, которая передается в сообщения делегата анимации - селекторы устанавливаются с помощью setAnimationWillStartSelector: и setAnimationDidStopSelector: методы.не рекомендуется в iOS4 и выше.Если вам нужно настроить таргетинг на старые версии iOS, установите флажок:

#if NS_BLOCKS_AVAILABLE
    // iOS4 and above
#else
    // iOS3
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...