2012-03-05 2 views
1

두 개의 UIImageView 하위보기, 이있는보기 (UIView)를 가지고 있고 두 개의 이미지를 (동시에) 화면 주위로 옮기고 싶습니다.하위보기로 UIView 이동하기

시나리오 1에서는 화면의 크기가 UIView이고 고정 된 채로 두십시오. 두 개의 하위 뷰의 중심점을 이동합니다. 시나리오 2에서는 두 이미지의 크기가 UIView 인 을 만들고 화면 주위에 UIView 중심점을 이동합니다.

나는 최종 결과가 같을 것이라고 생각했을 것이다. 그러나 그렇지 않다. 왜 안 되니?

시나리오 1 :

UIView mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
UIImageView firstImage = [[UIImageView alloc] initWithFrame:muchSmallerRect]; 
UIImageView secondImage = [[UIImageView alloc] initWithFrame:muchSmallerRect]; 
[mainView addSubview:firstImage]; 
[mainView addSubview:secondImage]; 
firstImage.center = someSpecificPoint; 
secondImage.center = someSpecificPoint; 

시나리오 2 :

UIView mainView = [[UIView alloc] initWithFrame:muchSmallerRect]; 
UIImageView firstImage = [[UIImageView alloc] initWithFrame:muchSmallerRect]; 
UIImageView secondImage = [[UIImageView alloc] initWithFrame:muchSmallerRect]; 
[mainView addSubview:firstImage]; 
[mainView addSubview:secondImage]; 
mainView.center = someSpecificPoint; 
+1

"최종 결과의 차이점"에 대해 자세히 설명해 주시겠습니까? – dasblinkenlight

답변

0

당신은에 대한 두 개의 서로 다른 좌표계를 얘기. mainView.centermainView을 포함하는 뷰의 좌표계에서 표현되는 반면 firstView.centersecondView.centermainView의 좌표계로 표시됩니다. 확실하게 firstViewsecondView을 포함하는보기를 이동하여 함께 이동시킬 수 있지만 두보기 자체를 이동하여 얻은 결과와 동일한 결과를 얻으려면이 두 좌표 시스템간에 변환해야합니다.

+0

'muchSmallerRect = CGRectMake (0.0, 0.0, 50.0, 50.0); 및 모든 뷰 (mainView와 두 개의 하위 뷰 UIIMageViews)가 같은 크기 였기 때문에 서로 다른 좌표계가 나열되어 있다고 생각했습니다. 최종 결과가 격렬하게 달라 지므로 분명히 정확합니다. 이것은 convertPoint : fromView :'를 사용하여 수정 되었습니까? – coco

관련 문제