2010-05-29 3 views
5

UIView의 크기를 줄이기 위해 애니메이션을 적용하려고하지만 중심점에 대해서는 애니메이션을 적용하고 싶지 않습니다.iPhone : 특정 지점에 대한 UIView 비율 조정

어둠 속에서 나는 일련의 CGAffineTransform을 사용하여보기를 번역하고 크기를 조절 한 다음 다시 번역하려고했습니다. 그러나 그것은 효과가 없습니다. 그것은 여전히 ​​중심에 대해 비례합니다.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

대단히 감사합니다.

답변

12

프로젝트에 석영 프레임 워크를 추가하고 다음 (애니메이션 기반이되는 주변)보기의 앵커 포인트를 설정할 수 있습니다 석영 헤더

#import <QuartzCore/QuartzCore.h> 

예를 가져올 포인트는 0과 1 사이의 값이 0,0로, 것을

myView.layer.anchorPoint = CGPointMake(0, 0); 

참고 상단 것이 도움이 있다면 대답으로

+1

내 응답을 표시 고려하시기 바랍니다 아이폰에 남아된다. – RunLoop

+2

고마워요. 이것은 실제로 효과가 있습니다. 하나의 후속 문제 : 내가 말하지 않은 것은 내가 "바운스 (bounce)"효과를 위해 스케일링을 사용한다는 것입니다. 문제의 뷰는 약간 축소 된 다음 정상 크기로 다시 확장됩니다. "anchorPoint"접근법을 사용하면 뷰가 적절하게 축소되지만, 뷰를 다시 늘리면 (변환에 대한 단위 행렬 사용) 전체 뷰가 약간 이동 (번역)됩니다. 반복되는 앵커 포인트 독립적 인 방식으로 원래 위치로 복원 할 수있는 방법이 있습니까? 감사! –

+0

더 쉬울 수도있는 것은 단순히보기의 프레임의 원점과 크기를 끝점과 시작점을 반영하여 애니메이션에 포함시키는 것입니다. 나는 이것을 더 쉬운 방법으로 발견했다. – RunLoop