2010-08-16 5 views
7

는이 같은 뷰를 만드는 오전 :이 같은 새로운 뷰를 작성하기 전에 나는이 태그로있을 수있는 그 어떤을 제거 할 수 있도록태그를 기반으로 UIView 하위 뷰를 제거 하시겠습니까?

UILabel *qty = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)]; 
qty.backgroundColor = [UIColor whiteColor]; 
qty.text =[NSString stringWithFormat:@" Qty: %@", currentQty]; 
qty.alpha = 0.5; 
[qty setTag:999]; 
[self.view addSubview:qty]; 
[qty release]; 

이이 뷰 컨트롤러에서 여러 번 일어날 수있는, 내가 노력하고 있어요 이 :

UIView *removeView = [self.view viewWithTag:999]; 
[removeView removeFromSuperview]; 

이것은 어떤 이유로 작동하지 않습니다. 아무도 내 문제가 보이지 않습니까?

나는 모든보기를 반복하고 태그를 확인하지만 오히려보다 우아하고 직접적인 해결책을 가지고 있다고 생각합니다.

답변

25

여러보기 중 하나만보기를 제거 할 수 있다는 문제가 있습니까? 유사한 작동

[self.subView removeFromSuperview]; 
self.subView = qty; 
+1

좋은 : 생성/태그/제거 점점 하나 개의보기가 있다면, 당신은 또한, 해당 뷰를 추적하기 위해 단지 속성을 추가하는 것을 고려 수도

UIView *removeView; while((removeView = [self.view viewWithTag:999]) != nil) { [removeView removeFromSuperview]; } 

을 쓰기 :이 시도 챔피언 - 고마워요! – Slee

관련 문제