2012-02-02 4 views
0

둥근 이미지가 세로로 스쳐 지나서 수평선처럼 보이게하고 원래 모양으로 다시 확대합니다. 나는 이것이 = 프레임의 높이 UIViewAnimation를 통해 프레임 애니메이션을 한 후 중앙에 레이어의 기준점을 설정하고 1.iOS - 이미지를 세로로 스치기

[self.imageToSquish.layer setAnchorPoint:CGPointMake(0.5, 0.5)]; 

CGRect newFrame = CGRectMake(self.imageToSquish.frame.origin.x, self.imageToSquish.frame.origin.y, self.imageToSquish.frame.size.width, 1); 
[UIView animateWithDuration:3 
       animations:^{self.imageToSquish.frame = newFrame;} 
       completion:nil]; 

일을 것이라고 생각하지만 이미지가 위쪽으로 대신의 중심을 축소합니다.

답변

2

원점을 왼쪽 상단에 시작 프레임과 동일한 위치에 배치했습니다. 당신은 아마 절반 이미지의 높이를 추가, 더 이런 일을하고 싶지 :

CGRect newFrame = CGRectMake(self.imageToSquish.frame.origin.x, self.imageToSquish.frame.origin.y + self.imageToSquish.frame.size.height/2, self.imageToSquish.frame.size.width, 1); 

는 또한-더 효율적으로 당신이 대신 프레임 덤비는의, 말에 CGAffineTransformMakeScale(1, 0.01)을 이미지 뷰의 transform 속성을 설정할 수 있습니다. 그러면 이미지의 중앙에 위치하므로 변형을 CGAffineTransformIdentity으로 설정하면 쉽게 취소 할 수 있습니다.

+0

예, CGAffineTransform이 더 잘 작동합니다. 감사. – soleil

관련 문제