2009-10-27 3 views
0

컨테이너 UIView를 사용하여 UIImageView를 저장하고 사용자 지정 드로잉을 수행합니다. 이 시점에서 내 하위 뷰 위에 그림을 그리기를 원합니다. 그래서 drawRect : 내 컨테이너 UIView에서 재정의하면 하위 뷰 아래에만 그려집니다.서브 클래 싱없이 오버로드 메서드 (특히 drawRect :)

drawRect을 오버로드하는 방법이 있습니까? 서브 클래 싱하지 않고 내 서브 뷰에 있습니까?

나는 생각할 수있는 방법이 대답일지도 모른다. 그러나 나는 기대하지 않고있다.

(참고 : 예,있는 UIView가있는 UIImageView의 서브 뷰가 될 가지고 똑똑했을 것이다,하지만 불행히도 지금 내 실수에 최선을 다하고 있어요.)

답변

0

당신이 무시 과부하를 의미하지 확실 ?

오버로드 - 동일한 기본 이름이지만 인수가 다르므로 다른 선택기를 사용하여 새 메서드를 만드는 오버로드는 새 클래스를 포함하는 새 메서드 범주를 기존 클래스에 추가하여 수행 할 수 있습니다.

기존 메소드의 비헤이비어를 수정하려면 런타임에 클래스의 메소드 테이블을 원숭이 패치 (예 : swizzling)하거나 서브 클래스 화해야합니다.

+0

설명해 주셔서 감사합니다. drawRect :는 결코 직접적으로 호출되지 않기 때문에 오버라이드는 필자가 필요로하는 것입니다. – SooDesuNe