2012-11-08 2 views
5

나는 다음과 같은 코드를 사용하여 이미지 뷰를 회전하려면 :왜 autolayout의 CGAffineTransformRotate가 애니메이션보기로 이동합니까?

[UIView animateWithDuration:.25 animations:^{ 
    self.imageView.transform = CGAffineTransformRotate(self.plusView.transform, M_PI_4); 
}]; 

유선 것은 즉 : 나는 자동 레이아웃없이이 코드를 실행하면, 모든 것은 괜찮습니다. 자동 레이아웃을 사용하면 이미지 뷰가 회전하기 전에 쓰레기 픽셀을 이동합니다. 왜?

답변

4

Xcode 5에서 자동 레이아웃을 사용하는 경우 제약 조건을 추가하여 컨테이너에 imageView의 가로 가운데와 세로 중심을 고정해야합니다. 스토리 보드를 사용하는 경우 제약 조건 옵션을 사용하여 쉽게 수행 할 수 있습니다. imageView의 크기를 자동으로 조정하지 않으려면 제약 조건을 사용하여 너비와 높이를 수정해야합니다.

내가 chazzwozzer의 대답에 대해 언급 할 수있는 명성을하지 않았다

Fix the size of a view with constraints in Storyboard

0

Pin the center of a view with constraints in Storyboard는 (내 계정 페이스 북 로그인 최근 변경으로 재설정되었다). 그 대답은 나를 위해 좋은 일을했다. 그것에 다른 제약 조건을 가진 UIView로 변환되는 컨트롤을 넣어. 그런 다음 변형 된 컨트롤은 해당 뷰에서 Horizontal AND Vertical Center로 설정됩니다.

참고하시기 바랍니다. 변환 시프트는 이후 iOS 8에서는 발생하지 않았습니다. iOS 7.1에서만 발생합니다.

관련 문제