2010-08-16 20 views
7

Böyle bir görünüm oluşturma: Böyle yeni bir görünüm oluşturmak önce bu etiketi ile mevcut olabileceği herhangi kaldırmak istediğiniz böyleceUIView alt görünümü etiketine göre kaldırıldı mı?

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]; 

Bu, bu görünümü denetleyicisi birden çok kez gerçekleşebilir, ben çalışıyorum Bu:

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

Bu bir nedenle çalışmıyor, sorunumu burada gören var mı?

Sanırım tüm görünümler arasında dolaşabilir ve etiketi kontrol edebilirim, ancak daha zarif ve doğrudan bir çözüm bulmayı tercih ederim.

cevap

25

Sorun, yalnızca birkaç görüntünün kaldırılmasını engelliyor mu? Bir gibi çalışır,

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

güzel:/oluşturduğunuz etiketli/çıkarılmış vurmayacak tek bir görünüm varsa, ayrıca, bu görüşü izlemek için sadece bir özellik eklemeyi düşünebilirsiniz

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

ve yazma: Bu deneyin şampiyon - teşekkür ederim! – Slee

İlgili konular