UIView

2013-11-27 9 views
6

से सभी ऑब्जेक्ट्स को निकालें I xib फ़ाइल में विभिन्न ऑब्जेक्ट्स खींचने के लिए 2 UIView का उपयोग कर रहा हूं। कुछ कार्यों के लिए नई वस्तुओं को आकर्षित करने से पहले दृश्य को साफ़ करने की आवश्यकता है। प्रारंभ में, जब वस्तु प्रकार संख्या में छोटे होते हैं, मैं इस का उपयोग किया गया:UIView

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

लेकिन जब मैं प्रत्येक कार्य के लिए तैयार हो रहे हैं कई कार्यों और कई प्रकार के की वस्तुओं है, यह बुरा कोडिंग इस प्रकार के उपयोग करने के लिए लग रहा है विधि का क्या ऐसा करने के लिए कुछ कुशल तरीका है?

+1

'(UIView * yourView.subviews में देखें) {[दृश्य removeFromSuperView]} के लिए' – Dinesh

+0

क्यों आप कैसा महसूस करते हैं, ** बुरा लग रहा है इस प्रकार का उपयोग करने के लिए कोडिंग **? –

उत्तर

15

आपको अपनी कक्षा के बावजूद सभी सबव्यूव को हटाने के लिए इसका उपयोग करना चाहिए।

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

क्या आप इसके लिए स्विफ्ट संस्करण प्रदान कर सकते हैं या मैं इसका उपयोग करूंगा: self.view.subviews में subView के लिए { subView.removeFromSuperview() } –

0

इस के लिए उपयोग एक UIView से सभी वस्तु को दूर

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

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

      }