2012-09-24 2 views
0

잘 작동하는 slider..its를 사용하여 이미지를 회전하려하지만 pinch 제스처를 사용하여 해당 imageView를 확대하거나 축소 할 때 슬라이더를 사용하여 이미지 뷰를 회전하려고하면 이미지 뷰의 프레임이 원래의 프레임을 누른 다음 그것을 회전 .. 내가 그것을 줌 작업을 수행 한 후 새로운 imageview을 회전하고 싶습니다 ... heres 내 코드.ImageView rotation using slider

//for rotation 
- (IBAction)sliderChanged:(id)sender 
{ 
    imageView.transform = CGAffineTransformMakeRotation(Slider.value * 2*M_PI/Slider.maximumValue); 
} 
//for zoom in zoom out 
- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer 
{ 

    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform,  recognizer.scale, recognizer.scale); 
    recognizer.scale = 1; 

} 
+0

Hie all..its 오래 된 스레드이지만 며칠이 지난 후에 붙어 있습니다 .i는 확대/축소 및 회전 제스처를위한 uislider가 줌이 잘 작동 할 때까지 작동합니다. 회전이 완료되지 않은 경우가 아니라 회전 후 확대/축소가 이상하게 작동하지 않는 한 !! 아무도 날 도와 줄 수있는 스레드와 함께 찾지 못했지만이 스레드와 비슷한 모든 것을 얻을 수 없습니다. 친절하게 도와주세요 !!! –

답변

1

handlePinch에서 올바르게 변환 기존 수정할 수 있지만 sliderChanged에 당신은 스케일링을 잃고, 새로운 생성 변환.

+0

예 이전 변환을 잃어 버리지 않고 회전 할 수있는 방법이 있습니까? –

+0

'CGAffineTransformRotate'가 * 각도로 회전하고 * to * 각도로 회전하지 않으므로 마지막 회전 각도를 기억합니다. 아니면 마지막 축척을 기억하고'CGAffineTransformMakeScale'을 사용하여 변환을 다시 만든 다음 그것을 회전 시키십시오. – mifki

+0

thanks ..it works now .... 이전에 CGAffineTransformMakeRotation을 사용 중이었습니다 .. –

1

스케일을 유지 보수하고 있지 않습니다.

-(IBAction)zoomIn:(id)sender{ 
    x += 0.3; 
    CGAffineTransform t; 
    t=CGAffineTransformMakeRotation(degrees*M_PI/180); 
    imageView.transform=CGAffineTransformScale(t, x, x); 
} 

CGAffineTransformScale의 recognizer.view.transform을 사용하고 있습니다. ImageView.transform을 사용 해보십시오.

+0

나는 imageView.transform을 사용해 보았습니다. 나는 당신의 코드가 회전 후 확대를위한 것이라고 생각합니다. 나는 확대/축소 후 회전을 찾고 있습니다. 확대 된 이미지를 회전하고 있습니다 ... –

+0

Hie all .. 그것의 오래된 스레드지만, 메신저 며칠이 붙어있다 .. 나는 uislider 줌 및 회전 제스처 이미지 뷰를 회전 할 때까지 괜찮아요까지 작동하지 않는 한 회전이 완료되지 않은 회전 있지만 확대 후 이상한 동작합니다! ! 아무도 날 도와 줄 수있는 스레드와 함께 찾지 못했지만이 스레드와 비슷한 모든 것을 얻을 수 없습니다. 친절하게 도와주세요 !!! –

+0

도는 무엇입니까? – Gaurav