2010-05-23 3 views
1

예 : UIImageView 하위 클래스 인 경고 삼각형 아이콘이 있습니다. 이 경고는 애니메이션과 혼합되어 3 초 동안 깜박 인 다음 사라집니다.보기가 완전히 자체를 관리 할 수없는 심각한 이유가 있습니까?

  • 항상 상위보기가 있습니다.

  • 항상 alloc, init, 하위보기로 추가, 애니메이션 시작, 완료시 superview에서 제거.

그래서 난이 원하는 :

[WarningIcon warningAtPosition:CGPointMake(50.0f, 100.0f) parentView:self]; 

BANG를!

그게 전부입니다. 전화하고 잊어 버려.

보기 자체를 부모에게 하위보기로 추가 한 다음 애니메이션입니다. 끝나면 지점에서 자르며 [self removeFromSupeview];이됩니다. 그리고이 과정이 실제로 끝날 수 있는지 확인하기 위해 재치있는 복장과 - 오토 레어 커플을 만들어보십시오. 그래서 모든 것이 완료되고 돌아와서 실제로 쓰레기가되기 전에 되돌릴 수 있습니다.

이제 1 년 전에 어떤 괴짜가 내게 말했습니다. "절대로 당신 자신의 가지에서 자르지 마십시오." 다른 말로하면, 뷰는 더 이상 어디에서도 언급되지 않으면 슈퍼 뷰에서 절대로 절대로 없어지지 않습니다.

나는 그것을 정말로 얻고 싶다. 왜? 이것에 대해 생각하십시오 : 어려운 길, 나는 실제로 똑같은 일을 할 것입니다. 인스턴스를 만들고 대리자로 나를 매달아 애니메이션을 시작합니다. 경고 아이콘이 애니메이션으로 재생되면 "나 한테 끝났어, 날 치워!"라고 다시 전화합니다. - 그래서 내 대리자 메서드는 해당 인스턴스에 대한 포인터와 함께 호출되며, 나는 똑같은 일을합니다 : [thatWarningIcon removeFromSuperview]; - 강타.

이제 나는 이것이 왜 짜증나는지 알고 싶습니다. 인생은 너무 쉬울 것입니다.

답변

1

귀하의 솔루션에 대한 이의가 없습니다 (특히 [[self retain] autorelease]). 나는 때때로 같은 접근 방식을 사용하고있다.

당신은 가서 그의 추론에 대해 no-branch-cutter-nerd에게 물어보아야합니다. (그리고이 정보를 여기에 게시하십시오.)

+0

+1. 때때로, 여기처럼, 당신은 자신의 가지에서 자신을 잘라내 길 원합니다. 무역의 전형적인 속임수. –

관련 문제