2012-04-30 2 views
0

나는 균등하게 확장하고 싶은 uiview 서브 클래스가 있습니다. 뷰의 원점을 가운데로하고 너비와 높이를 같은 크기로 늘려야합니다. 현재 원점은 왼쪽 상단 (0,0)에 있으며 오른쪽으로 아래로 확장됩니다. 이 일을 어떻게 하죠?UIView가 균등하게 크기 조정

+0

당신은 무엇을 확장 의미합니까? 이것은 애니메이션입니까? 너 뭐하려고? 더 구체적으로 말하십시오. – Byte

답변

0

프레임의 너비와 높이를 변경하는 경우 프레임의 x 및 y 위치도 절반으로 변경하십시오.

예를 들어, 프레임이 현재 (40, 60, 100, 200)이고 20 이상에서 30으로 더 넓게하려면 30 (45, 120, 230)으로 지정하십시오.

0

내가보기에 당신이보기에있는 수퍼 뷰의 크기를 얻는다는 것을 이해하면 좋습니다. 이보기를 view으로 봅시다. 그런 다음보기가 myView이되도록하십시오. 폭과 높이 값의 화면 크기의

테이크 절반, 그리고보기의 기원을 배치 :

그래서 당신이해야 할 다음과 같다.

UIView view = myView.superview; 
if (nil != view) { 
    // Make sure your view won't extend by itself with this 
    myView.autoresizingMask = UIViewAutoresizingNone; 

    // Get The size of the parent view 
    CGSize size = view.bounds.size; 

    // Set the new frame of your view 
    myView.frame = CGRectMake(size.width/2.0f, 
           size.height/2.0f, 
           size.width/2.0f, 
           size.width/2.0f); 
} 

이제보기가 올바른 위치에

관련 문제