Параметры внутри начинают анимацию и контекст

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

[UIView beginAnimations:nil context:NULL];

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

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

-(void)start{

NSLog(@"Animation Running");

}

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

1 ответ

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

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

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

Другие вопросы по тегам