Как вы ссылаетесь на слой из основного объекта анимации?

Я пытаюсь анимировать масштабирование изображения от 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