2011-08-01 10 views
2

터치에 반응하는 작은 UIImageView를 생성하는 프로그램이있어 슈퍼 뷰 주위로 드래그 할 수 있습니다.Pinch Gesture로 UIImageView를 스케일링하는 데 문제가 있음

UIPinchGestureRecognizer를 추가하여 이미지의 크기를 위아래로 조정했습니다. 현재 코드에서는 이미지가 완전히 위아래로 확장되지만 새 집기 동작이 시작될 때 1.0에서 다시 시작됩니다.

초기 ImageView 스케일을 얻기 위해 contentScaleFactor를 사용했지만 항상 1.0이므로 다음 코드가 제대로 작동하지 않습니다.

- (void)doPinch:(UIPinchGestureRecognizer *)pinch { 



if (pinch.state == UIGestureRecognizerStateBegan) { 

    initialScale = dragImage.contentScaleFactor;   

    } else { 

    CGFloat newScale = initialScale * pinch.scale; 

    CGAffineTransform transform = CGAffineTransformMakeScale(newScale,newScale); 

    dragImage.transform = transform; 

    } 


} 

이 코드는 Apress Beginning iPhone 4 Development의 "Pinch me"예제에서 수정되었습니다.

contentScaleFactor가 작동하지 않으므로 코어 그래픽 속성을 사용해야합니까? CGAffineTransformScale과 관련이 있습니까?

감사합니다.

답변

3

contentScaleFactor은 당신이 원하는 것은이 줄을 교체하는 것입니다 ... 당신이하지 생각하지 않습니다

initialScale = dragImage.transform.a; 

initialScale = dragImage.contentScaleFactor; 

을 ... 당신은있을 거 야 행복한 캠프 ("a"는 현재 dragImage에 적용된 변형 행렬의 x 축척 비율을 나타냄).

+0

감사합니다 !! 내가 핵심 그래픽에 대한 더 많은 독서를해야 할 것이다. – REDMX

+0

신, 나는 이것이 왜 리셋 되었는가를 알아 내려고 노력하면서 시간을 보냈다. 나는 이상한 기능을 썼다. – Pochi

관련 문제