0

A에 B와 C가 포함 된 세 개의 UIView (A, B, C)가 있습니다. UIPinchGestureRecognizer로 Pinch 제스처를 감지 한 다음 CGAffineTransformScale을 사용하여 B보기의 크기를 조정할 수 있기를 원합니다. 스케일 뷰 B.iOS에서보기의 크기 조정

그러나 스케일 B를 사용하면 화면의 원래 영역 밖에 확장되지만 괜찮습니다. B를 포함하는 화면의 영역을 그대로 유지하고 작은 피스를 보여주고 싶습니다. 그것의, 그러나 확대했다.

보기 영역을 동일하게 유지하도록 설정할 수 있습니까?

+0

뷰 A가 하위 뷰를 클립하지 않도록 설정할 수 있습니다. 세부 사항이 없으면 확신 할 수 없습니다. – CrimsonChris

+0

어떻게 설정합니까? 보기 A에있는 속성입니까? –

+0

예, 재산입니다. 하위 뷰를 경계 밖으로 벗어나는 것을 방지합니다. A가 크기를 변경하지 않는다면이 문제가 발생할 가능성이 큽니다. – CrimsonChris

답변

0

당신은 YES로 설정 clipsToBounds와

viewA.clipsToBounds = YES; 

, 당신은 viewA의 범위 내에서 맞는 viewB 및 viewC의 일부를 볼 수 있습니다. 그렇지 않으면 clipsToBounds를 NO로 설정하면 viewB 및 viewC 전체가 표시됩니다. 심지어 부품이 뷰 외부에있는 것입니다.

+0

뷰 A의 "initWithFrame : (CGRect) frame"에 다음을 추가했습니다. [self setClipsToBounds : YES]; [자기 setBounds : 내가보기 B를 확장 할 때 그러나, 내가보기 B를 만드는거야 때 다음과 같이 내가 경계를 설정 보기 C.의 영역을 커버 CGRectMake을 (ROOTX, 뿌리가 많은,는 gridx, GRIDY) ]; (0,0,400,400으로 매핑) –

+0

정확히 무엇이 필요합니다 .. 잘하면이 작업 중입니다 ... –

+0

죄송합니다 - 내 이전 대답의 편집 문제 : 보기 A의 "initWithFrame : (CGRect) frame" 나는 추가했다 : [self setClipsToBounds : YES]; 그러나 뷰 B를 확장하면 뷰 C의 영역이 나옵니다. 뷰 B를 만들 때 다음과 같이 경계를 설정합니다. [self setBounds : CGRectMake (ROOTX, ROOTY, GRIDX, GRIDY)]; (0,0,400,400으로 매핑) –