2011-02-03 12 views

उत्तर

12

बस इसका परीक्षण किया और यह मेरे लिए काम किया। (हालांकि अपने कोड भी मेरे लिए अच्छा लग रहा है ...)

foreach (UIView view in tableView.Subviews) { 
    view.RemoveFromSuperview(); 
} 

यह आपके लिए काम नहीं करता है, वहाँ कुछ है कि निकाले जाने से रोकता है subviews हो सकता है।

0

बाद में दृश्य को रीफ्रेश करने या विशेष रूप से मुख्य थ्रेड पर निकालें कॉल का आह्वान करने का प्रयास करें।

4

आपके नमूने के साथ समस्या यह है कि आपने लूप कैसे बनाया।

जब आप 0 पर दृश्य को हटाते हैं, तो सबव्यूज़ सरणी एक तत्व छोटा होता है, और तत्व 1 अगले पुनरावृत्ति पर तत्व 0 बन जाता है। दूसरी ओर आपका मैं चर बढ़ रही रखता है, ताकि आप 1.

+1

कुछ 0-आधारित है कि आस-पास काम कर सकता है क्या करेंगे, सही? 'की तरह (यह। सबव्यू। लम्बाई> 0) {यह। सबव्यूज [0]। RemoveFromSuperview(); } ' – riha

0

लंघन अंत आप पूरी तरह पाश के लिए एक उपयोग करने की आवश्यकता है, तो यह

for (int i = this.Subviews.Length - 1 ; i > 0 i--) 
    { 
     this.Subviews[i].RemoveFromSuperview(); 
    } 
संबंधित मुद्दे