Изображение изменения масштаба анимации CATransition (UIImageView)

Я пытаюсь добиться изменения изображения анимации масштабирования в UIImageView.

Пока я создал переход типа moveIn и подтипа fromLeft:

CATransition *transition = [CATransition animation];
[transition setSubtype:kCATransitionFromLeft];
[transition setType:kCATransitionMoveIn];
[transition setDuration:1.5];

[[imageView layer] addAnimation:transition forKey:nil];

Но я хочу эффект масштабирования. Я успешно создал его с помощью CABasicAnimation:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transition.scale"];
[animation setFromValue:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.0, 0.0, 1.0)]];
[animation setToValue:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
[animation setDuration:1.5];

[[imageView layer] addAnimation:animation forKey:nil];

Моя проблема в том, что при использовании второго подхода изображение меняется (старое изображение исчезает), а затем появляется анимация.

Так что это анимация, а не переход (как следует из названия).

Как создать переход с эффектом масштабирования?


person Julian F. Weinert    schedule 15.05.2013    source источник
comment
Удалось ли вам найти решение?   -  person Sheharyar    schedule 12.06.2014
comment
Я уже не помню, извини. Я бы забросил проект...   -  person Julian F. Weinert    schedule 13.06.2014
comment
Все в порядке, я смог добиться желаемого перехода, следуя этому руководству.   -  person Sheharyar    schedule 13.06.2014
comment
О, круто! Спасибо за эту ссылку, я думаю, что я сделаю что-нибудь причудливое с ней!   -  person Julian F. Weinert    schedule 14.06.2014


Ответы (1)


Можно использовать это для масштабирования.

setTransform: CGAffineTransformMakeScale

person andy shih    schedule 28.10.2015