Я пытаюсь сделать анимацию UIView, где мое изображение начинается в верхнем левом углу экрана и расширяется до исходного размера и помещается в середине экрана. До сих пор я мог сделать это отдельно, но когда я пытаюсь объединить эти анимации, он будет делать только анимацию масштаба.Как объединить масштаб и анимацию перевода
Есть ли способ, которым я могу сделать эту работу с Масштаб и перевод в то же время?
Вот то, что я до сих пор:
CGAffineTransform setpointTrans = CGAffineTransformMakeTranslation(-200.0f, -200.0f);
CGAffineTransform setpointScale = CGAffineTransformMakeScale(0.0f, 0.0f);
_RSEImage.transform = CGAffineTransformConcat(setpointTrans, setpointScale);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
CGAffineTransform scaleTrans = CGAffineTransformMakeScale(1.0f, 1.0f);
CGAffineTransform lefttorightTrans = CGAffineTransformMakeTranslation(0.0f,0.0f);
_RSEImage.transform = CGAffineTransformConcat(scaleTrans, lefttorightTrans);
[UIView commitAnimations];
Хорошо, я понял это, вот что я изменил:
_RSEImage.transform = CGAffineTransformMakeScale(0.0f, 0.0f);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
CGAffineTransform scaleTrans = CGAffineTransformMakeScale(1.0f, 1.0f);
CGAffineTransform lefttorightTrans = CGAffineTransformMakeTranslation(200.0f,200.0f);
_RSEImage.transform = CGAffineTransformConcat(scaleTrans, lefttorightTrans);
[UIView commitAnimations];
Я пробовал свой код, и он отлично делает то, что вы хотели бы достичь: масштабировать и переводить ... Какова точка начала RESImage перед этим кодом? – nzs
x 160 y 242, я думаю, это то, что вы просите, извините, это мое первое приложение для iphone. Размер изображения 161 x 71 –
Трудно сказать из этого кода, где у вас есть проблема, потому что в основном этот фрагмент кода работает, так вы делаете аффинное преобразование «слияние». Поэтому я предполагаю, что какая-то другая часть вашего кода предотвращает какой-то перевод или не видно ... Начните добавлять функции постепенно, комментируя вещи и проверяя, что до этого момента все выглядит нормально. Например. проверьте этот фрагмент на первые 3 строки с масштабом 0,3 ф и -100f перевод - вы видите img? затем добавьте перевод, чтобы проверить параметры, затем объединить со шкалой. Вы также можете использовать мой ответ, так как блоки проще. – nzs