2013-02-16 3 views
3

저는 인터넷을 통해 UIImageView에서 이미지가 비뚤어지지 않고 이미지를 회전하는 방법을 찾아 보았습니다. 테스트 한 예제 중 아무 것도 작동하지 않았습니다. 그래서 여기에 특정 질문을 게시해야합니다.iOS iPhone : 이미지 회전시 왜곡 된 이미지가 나타 납니까?

회전을위한 내 코드는 다음과 같습니다. 그 결과는 제가 링크 된 이미지에 표시됩니다 (담당자가 5 세 이하인 경우 게시물에 이미지를 첨부 할 수 없음). 에 각도 값을 입력하면 회전 후에 이미지가 어떻게 끝났는 지 보여줍니다.

회전 각도는 0, 90, 180 및 270도에서 정상적으로 작동합니다. 다른 모든 것은 이미지를 왜곡합니다.

self rotateImage:_compassScale duration:1 curve:UIViewAnimationCurveEaseIn degrees:(CGFloat)bearing]; 

. 당신이 IM1, IM4 및 IM5에 URL을 변경하는 경우

90 degrees 120 degrees and skewed

- (void)rotateImage:(UIImageView *)image duration:(NSTimeInterval)duration curve:(int)curve degrees:(CGFloat)degrees 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:duration]; 
    [UIView setAnimationCurve:curve]; 
    [UIView setAnimationBeginsFromCurrentState:YES]; 

    CGAffineTransform transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-degrees)); 
    image.transform = transform; 


    [UIView commitAnimations]; 
} 

3 개 더 많은 이미지가 있습니다. Rep는 2 개 이상의 링크를 게시 할 수 없었습니다.

많은 작업을 한 후 Constraints가 비뚤어 짐과 관련이 있음을 알았습니다. NESW- 링 (나침반은?)은 나침반 프레임 인 다른 이미지의 중심에 놓은 이미지입니다. 그리고이 이미지들로 교환하는 것은 이미지와 함께 중심에있는 텍스트 필드입니다.

NESW- 링을 화면의 다른 위치로 끌면 이미지가 비뚤어지지 않습니다. 그러나 화면에서 대신 움직입니다.

항목을 모두 이동 한 다음 화면의 원래 좌표로 다시 이동 시켰습니다. 더 이상 왜곡되지 않습니다. 그러나 텍스트 필드에서 각도를 변경하면 두 이미지의 위치가 조금씩 바뀌며 링의 위치 변경이 프레임의 위치 챈드에 연결되어있는 것처럼 보이지 않습니다. 특이한 점은 나침반 프레임을 움직이는 코드가 없다는 것입니다!

어떤 아이디어가이 문제를 해결할 수 있습니까?

+0

제약 조건을 해제하는 것이 좋은 시작일 것입니다. 앱에 자동 레이아웃이 필요합니까? – foundry

+0

아니요, 필요하지 않습니다. 그것은 단지 초상화입니다. 제약 조건을 해제하는 방법을 찾았을 때 작동하도록했습니다. 이 게시물을 해결 된 것으로 표시하려면 어떻게합니까? – user2078203

+0

질문에 대한 답변을 작성했습니다. – foundry

답변

1

자동 레이아웃을 사용 중지합니다. xib 또는 스토리 보드를 선택하고 파일 검사기 (오른쪽 창의 첫 번째)에는 "자동 레이아웃 사용"체크 상자가 있습니다. 선택을 취소하십시오 (기본적으로 켜져 있습니다).

그런 다음 예상되는 결과가 나타납니다.

사용하지 않는 한 항상 autolayout을 OFF로 유지해야합니다.

관련 문제