내 이미지가 화면 왼쪽 상단에서 시작하여 화면 중간에 원래 크기와 위치로 펼쳐지는 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, 내가 뭘 묻고있는 것 같아, 미안해, 이건 내 첫 번째 아이폰 앱이야. 이미지 크기는 161 x 71 –
입니다. 기본적으로이 코드 스 니펫이 작동 중이므로 문제가있는 곳에서는이 코드에서 알기가 어렵습니다.이 방법은 아핀 변환 "병합"을 수행하는 방법입니다. 그래서 당신의 코드의 다른 부분이 어떻게 든 번역을 막거나 보이지 않는 것 같아요. 점차적으로 주석을 달아 함수를 추가하고, 그 시점까지 모든 것이 잘 보이는 것을 확인하십시오. 예 : 0.3f 배율 및 -100f 번역으로 처음 3 줄을 보려면이 스 니펫을 확인하십시오. img? params를 테스트하기 위해 혼자 번역을 추가 한 다음 scale로 병합하십시오. 블록이 더 쉽기 때문에 내 대답도 사용할 수 있습니다. – nzs