2014-12-19 2 views
0

я изучал о начинать анимацию с UIView, как правило, в большинстве учебников они всегда используют один и тот же синтаксис:Опции внутри начать анимацию и контекст

[UIView beginAnimations:nil context:NULL]; 

я вижу в коде, который внутри beginAnimation мы можем поставить NSString , а в контексте - функция пустоты, правильно? Для этого я делаю это:

[UIView beginAnimations:@"Will Start" context:@selector(start)]; 

-(void)start{ 

NSLog(@"Animation Running"); 

} 

Но NSString «начнет» был не показывая мне, и функция пустоты «старт» не называют. Я не знаю, делаю ли я это неправильно, но что это за варианты BeginAnimation из типа NSString и тип типа типа void? Может ли кто-нибудь дать мне пример?

+0

Вы даже не должны использовать этот метод. Вы должны смотреть на некоторые довольно старые уроки. Из документов Apple для beginAnimations: «Использование этого метода не рекомендуется в iOS 4.0 и более поздних версиях. Для определения ваших анимаций вам следует использовать методы анимации на основе блоков». – rdelmar

ответ

0

Похоже, вы не совсем понимаете, как работает метод beginAnimations:context:. Прежде всего, animationId - это NSString, который просто идентифицирует анимацию. Во-вторых, данные, которые вы передаете context, - это действительно любые данные, которые вы хотите. Функциональный указатель, объект и т. Д.

Итак, что вы делаете после звонка [UIView beginAnimations:context:], отправляет различные сообщения setAnimation для установки свойств, изменения значений представления в значения (положение, цвет, альфа), которые вы в конечном итоге хотите получить , и, наконец, отправьте сообщение [UIView commitAnimations].

Хороший учебник, который объясняет это более подробно: here.

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