CGAffineScale을 사용하여 뷰를 지정된 점으로 변형하는 방법을 찾으려면 많은 시간을 소비했습니다. 변환 전후의보기 및 포괄적 인 인터넷 검색 나는 이것이 UIScrollview로 훨씬 더 간단하다는 것을 알고있다; 그러나 나는 기술적으로 그것이 하나없이 할 수 있다는 것을 알고 있으며, 그것은 내 마음 속의 파편이되었습니다.UIView를 지정된 CGPoint로 스케일하는 방법 (확대/축소)
This answer은 내가 달성하고 싶은 것과 매우 비슷하지만, 원하는 지점과 반대쪽 모서리로 센터를 영리하게 이동하여 주어진 지점 대신 특정 지점을 확대하는 방법에 대한 세부 정보 만 제공합니다 확대.
mvds' code을 수정하여 UIView의 특정 지점으로 UIView의 크기를 조정할 수 있습니까?
CGFloat s = 3;
CGAffineTransform tr = CGAffineTransformScale(self.view.transform, s, s);
CGFloat h = self.view.frame.size.height;
CGFloat w = self.view.frame.size.width;
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
self.view.transform = tr;
self.view.center = CGPointMake(w-w*s/2,h*s/2);
} completion:^(BOOL finished) {}];
답장을 보내 주셔서 감사합니다. 나는 이것을 시도했지만 여전히 잘못된 지점으로 확대합니다. 나는 이것을 종이로 그리기도 해봤지만 논리는 나를 벗어난다. – glenstorey