2011-08-27 5 views
7

이렇게 cellForRowAtIndexPath에 스위치를 만들었습니다.이것은 무엇을 의미합니까? initWithFrame : CGRectZero]

UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero]; 

CGRectZero는 CGRectMake (0,0,0,0)와 동일합니다. 그러나 스위치는 정상 크기로 보입니다. 나는 실제 크기를 지정하지 않았습니다. 위 코드가 어떻게 작동하는지 설명해주십시오.

답변

6

UISwitch는 사용자 지정할 수 없으며 크기에도 적용됩니다.

UISwitch는 initWithFrame:을 무시하고 컨트롤에 적합한 크기를 적용합니다. 주어진 사각형의 크기 구성 요소는 무시됩니다.

+0

실제로 UISwitch가 sizeThatFits을 재정의하는 스위치보기의 표준 크기를 나타내는 고정 된 크기 값을 반환 :하지만 그 효과는 동일 사실에서 UIView class reference는 말한다. – progrmr

0

모든 UIView 개체는 UIView의 sizeThatFits: 메서드를 구현하여 프레임 크기를 무시할 수 있습니다.

UISwitch 객체가

관련 문제