0
가로 세로 비율을 유지하지 않고 크기를 조정하기 위해 집어 넣을 이미지보기가 있습니다. 이렇게하려면 다음 중 하나를 수행하는 것이 가능할 것으로 생각했습니다.동일한 UIImageView에서 2 UIPinchGestureRecognizers 사용
- 두 개의 집기 인식기를 사용합니다. 하나는 수평으로 늘어나고 다른 하나는 수직으로 나타냅니다.
- 하나의 핀치 인식기를 사용하지만 두 변환을 차례로 적용하십시오. 어떤 이유
- (void) pinch:(UIPinchGestureRecognizer *)recognizer { static CGRect initialBounds; if (recognizer.state == UIGestureRecognizerStateBegan) { initialBounds = imageView.bounds; } CGFloat factor = [(UIPinchGestureRecognizer *)recognizer scale]; //scale horizontally CGAffineTransform zt = CGAffineTransformScale(CGAffineTransformIdentity, factor-(1.0-factor), 1.0); imageView.bounds = CGRectApplyAffineTransform(initialBounds, zt); //now scale vertically zt = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, factor); imageView.bounds = CGRectApplyAffineTransform(initialBounds, zt); return; }
, 유일한 수직으로 수행되고있다 (마지막)를 변환 :
여기 내 핀치 처리 기능입니다. 두 번째 CGRectApplyAffineTransform의 첫 번째 매개 변수를 imageView.bounds로 변경하려고했지만 여전히 작동하지 않았습니다.
아무도 내가 잘못 가고 있다고 말할 수 있습니까?
또한 두 개의 집게 인식기를 사용할 때 동일한 현상이 발생합니다. 실제로 한 개만 인식됩니다.
감사합니다.