2011-02-26 17 views
7

से निकाला जा रहा है subviews मैं एक ScrollView से छवि subviews हटाने की जरूरत है और मैं subviews की array से निकालने की कोशिश की लेकिन वह एक NSArray जो अपरिवर्तनीय है।UIScrollView

subviewsubviews से हटाया जा सकता है?

उत्तर

35
NSArray *viewsToRemove = [scrollView subviews]; 
    for (UIView *v in viewsToRemove) [v removeFromSuperview]; 
+1

+1 अच्छा जवाब के लिए bioffe के लिए ...... – Sabby

+2

तो दृश्य के प्रकार की जाँच करने के करने से आप भी पुस्तक संकेतक निकाल देंगे ... लगता है हम है हटा दिया जाना चाहिए । –

1

उप-दृश्य पर कॉल -removeFromSuperview।

12

आप ऐसा कर सकते हैं,

[[scrollView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; 
2
for (UIView *v in [scrollView subviews]) { 
    [v removeFromSuperview];  
} 
5

यह एक UIScrollView के सभी subviews लेकिन इसकी स्क्रॉल संकेतक निकाल देगा: _scrollView.showsHorizontalScrollIndicator = _scrollView.showsVerticalScrollIndicator = नहीं; [_scrollView.subviews makeObjectsPerformSelector: @selector (removeFromSuperview)]; _scrollView.showsHorizontalScrollIndicator = _scrollView.showsVerticalScrollIndicator = हाँ;

+1

कृपया कुछ विवरण जोड़ें जो कोड का यह टुकड़ा करता है ... – joe

+0

स्पष्ट रूप से '[_scrollView.subviews makeObjectsPerformSelector: @selector (removeFromSuperview)]; 'सभी स्क्रॉल संकेतक सहित सभी UIScrollView सबव्यूव को हटा देगा। स्क्रॉलव्यू से सभी सबव्यूव को हटाने से पहले स्क्रॉल संकेतकों को छुपाएं यह सुनिश्चित करेगा कि स्क्रॉल संकेतक स्क्रॉलव्यू से नहीं हटाए जाएंगे। – calinb

1

स्विफ्ट

for subview in scrollView.subviews { 
    subview.removeFromSuperview() 
}