Как препращате към слой от основен анимационен обект?

Опитвам се да анимирам мащабирането на изображение от 0 до 1. Анимацията е забавена, така че трябва първоначалното изображение или да бъде мащабирано до 0, или да има зададено скрито свойство на слоя му. И след това или когато анимацията приключи, задайте мащаба на 1 (така че да не се върне обратно към първоначално дефинираното си мащабиране 0) ИЛИ когато анимацията започне, деактивирайте скритото свойство на слоя.

И така.. Не успях да намеря никаква информация за това как да постигна нито един от тези подходи, а също така съм любопитен дали има по-добър начин да направя това, което се опитвам да направя.

Ако задам делегата на анимацията и използвам методите animationDidStart или animationDidStop, получавам обект CAAnimation и не успях да разбера как да получа достъп до слоя, който се анимира от този обект.

Наистина се надявах тези анимационни обекти просто да имат свойства beforeStart, afterFinish, които приемат блок, но очевидно не го правят.


person patrick    schedule 02.06.2013    source източник


Отговори (1)


Можете да вземете препратка към ImageView във вашия .h файл като променлива на екземпляр. След това в animation didStart можете да получите достъп до слоя на ImageView.

//.h File

UIImageView *imgVAnimated;


//.m File

//I'm not sure about the proper method name just for demonstration purpose I'm using the below one

- (void) animationDidStart {
imgVAnimated.layer = //Whatever you want to do
}
person Rahul Vyas    schedule 03.06.2013