2013-11-27 37 views
6

Bir xib dosyasında farklı nesneler çizmek için 2 UIView kullanıyorum. Bazı eylemler için yeni nesneler çizmeden önce görünümü temizlemeniz gerekir.Tüm nesneleri bir UIView'den kaldırın

for (UILabel *btn in self.contentView.subviews) 
{    
    if([btn isKindOfClass:[UILabel class]]) 
    { 
     [btn removeFromSuperview]; 
    }   
} 

Ama her eylem için çekilecek olan birden eylem ve çoklu tür nesneleri olduğunda, bu türü kullanmak kötü kodlama görünür: Başlangıçta nesne türleri sayıca az olan zaman, ben bu kullanıyoruz yöntem Bunu yapmak için bazı etkili yöntem var mı?

+1

'(yourView.subviews içinde UIView * view) {[görünüm removeFromSuperview]} için' – Dinesh

+0

, ** kötü görünen bir UIView tüm nesneyi kaldırmak bu türü kullanmak için kodlama **? –

cevap

15

Sınıflarından bağımsız olarak, tüm alt görünümleri kaldırmak için bunu kullanmalısınız.

[self.contentView.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)]; 
+0

Bunun için Swift sürümü sağlayabilir miyim veya kullanmalı mıyım ?: submen.removeFromSuperview() } altView.removeFromSuperview() alt görünümü için } –

0

Kullanım Bu İçin hissediyorsunuz Neden

NSArray *arr=view.subviews; //Your Vies's object.subviews 

      for (UIView *view1 in arr) 
      { 
       [view1 removeFromSuperview]; 

      } 
İlgili konular