2012-09-02 1 views
1

확대/축소에 UIScrollView을 사용하는 경우 가시적 인 내용의 종횡비가 일정한 것으로 보입니다. 수평 및 수직 줌을 독립적으로 관리하고 싶습니다. 예를 들어 손가락이 화면을 가로로 터치하면 가로 스크롤 만 변경됩니다. UIScrollView.zoomScale 유형이 float (모든 크기 모두)임을 알았습니다. 이 문제를 해결할 수 있습니까?UIScrollView : 각 차원/축의 줌 배율

세부 사항 : 내가는 OpenGL ES 기반의 응용 프로그램에서 일하고 나는 좋은 모양을 위해 UIKit의 스크롤을 사용하고 하나를 구현하는 시간을 절약하고 싶습니다.

답변

2

귀하의 경우에는 UIScrollView을 사용하지 않는 것이 좋으며 대신 변형하려는보기에서 UIPinchGestureRecognizer을 직접 설정하는 것이 좋습니다.

GestureRecognizer는 손가락을 추적하여 어떤 차원에서 크기를 조정할 것인지 (그리고 얼마만큼)를 결정합니다. 이를 기반으로보기의 transform 속성을 설정할 수 있습니다. 예를 들어 폭을 두 배로 늘리고 높이를 그대로 유지하는 변형 행렬은 CGAffineTransformMakeScale(2.0, 1.0)입니다.

UIScrollView의 스크롤링을 활용하려면 UIScrollView에보기를 포함시키고 그에 따라 contentSizecontentOffset 속성을 GestureRecognizer의 콜백 메소드에서 설정하십시오.