2013-06-17 2 views
2

위 코드 중 하나만 어떻게 작동합니까? CGAffineTransformMakeRotation 및 CGAffineTransformMakeScale

은 현재 내가 ...

image.transform = CGAffineTransformMakeRotation(M_PI/2.5); 
image.transform = CGAffineTransformMakeScale(1.25, 1.25); 

를 다음을 사용하고 그리고 두 번째 줄은 말한다처럼 내 이미지 그러나 그것은 전혀 회전하지 않고, 125 %로 조정됩니다. 내가 말하고 주변의 코드를 플립

...

내 이미지가 회전하지만, 조절되지 않습니다
image.transform = CGAffineTransformMakeScale(1.25, 1.25); 
image.transform = CGAffineTransformMakeRotation(M_PI/2.5); 

...

이 같은 이들의 모두를 사용하는 방법이 있나요 암호?

나는 내 viewDidLoad 방법에 있습니다. 누구든지 나를 도울 수 있습니까?

감사합니다.

+0

더 많은 정보와 의견이 필요하면 다시 연락 드리겠습니다. –

답변

6

두 번째 것은 기능의 변환을 사용하면 안됩니다. 따라서 당신이해야, 예를 들어, 다음 중 하나를

CGAffineTransform transform = CGAffineTransformMakeScale(1.25, 1.25); 
image.transform = CGAffineTransformRotate(transform, M_PI/2.5); 

또는

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI/2.5); 
image.transform = CGAffineTransformScale(transform, 1.25, 1.25); 

명암 Modifying Affine Transformations 기능과 Creating an Affine Transformation Matrix 기능.

+0

첫 번째 코드에는 문제가 있지만 두 번째 코드는 완벽하게 작동합니다. 고마워요! –

+0

가능한 경우 허용합니다. –

+0

@HenryHarris 그것은'CGAffineTransformRotation' 메소드가'CGAffineTransformRotate'이어야했기 때문입니다. 그에 따라 답변을 업데이트했습니다. – Rob

0

CGAffineTransformMake이 단위 행렬에 적용되므로 회전하고 있지만 ID를 복원하고 비율을 적용하는 것과 같습니다. CGAffineTransformMake .. 첫 번째에만 사용, 두 번째 사용에 대해 CGAffineTransform ...