2013-02-20 6 views
1

У меня 2 imageViews бок о бок, как показано на рисунке: enter image description hereанимировать картинки с переходной слайд перекрытием на других представлений IOS,

мне нужно изменить эти изображения, анимации в качестве скользящего зрения повторно. Я делаю это, используя NSTimer.

Ниже приведен код, я использую для создания анимации:

CATransition *animation = [CATransition animation]; 
[animation setDuration:1]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]] ; 

[[imgVwTry layer] addAnimation:animation forKey:@"@asdf"]; 

Однако анимация в левом ImageView, начинается вне границ представления изображения. То же самое показано на следующем рисунке:

enter image description here

Позвольте мне объяснить более ясным образом:

Анимация, что происходит перекрывается с правой ImageView. Тем не менее, я хочу, чтобы анимация произошла только в области, которая указана для LeftImageView. Что-то вроде этого: enter image description here

Какое изменение должно быть сделано в коде анимации, чтобы я мог удалить перекрытие. Или есть другой способ, которым я могу анимировать изображения?

Еще один быстрый вопрос, Если я использую метод startAnimation UIImageView, могу ли я изменить анимацию на слайд-анимацию?

+1

Возможно, вы можете установить фон исходного изображения вместо того, чтобы использовать прозрачность ... – apascual

+0

фон rightimageview установлен на черный, но анимации происходят на слое, поэтому не имеет значения, помещая некоторый цвет в background –

ответ

1

Вы должны установить clipToBounds в значение YES, которое хранит изображения, о которых вы говорите. Это остановит показ субвью, пока он не окажется в пределах вашего фрейма.

+0

не работает, установив ClipsToBounds :( –