2011-11-26 5 views
5

यदि आप willMoveToSuperview को UIView उपclass पर लागू करते हैं, तो क्या यह removeFromSuperview आपके विचार पर कॉल किया गया है (nil के साथ) कहा जाता है?क्या पांडुक्रम से दृश्य को हटाते समय WillMoveToSuperview (शून्य के साथ) कहा जाता है?

डॉक्स का कहना है कि newSuperview पैरामीटर हो सकता है nil और है कि यह "जब भी superview परिवर्तन" कहा जाता है, लेकिन मुझे यकीन है कि अगर मैं इस व्याख्या का मतलब यह कहा जाएगा सकता है जब दृश्य निकाल दिया जाता है नहीं कर रहा हूँ अपने पर्यवेक्षण से भी जब एक अलग पर्यवेक्षण में स्थानांतरित नहीं किया जा रहा है।

उत्तर

13

जब भी कोई दृश्य removeFromSuperview प्राप्त करता है, और दृश्य का पर्यवेक्षण पहले से ही शून्य नहीं था, तो दृश्य हमेशा [self willMoveToSuperview:nil] करेगा।

+0

क्या आप मानते हैं कि दृश्य अभी भी बनाए रखा गया है? यदि इसका पुराना सुपर व्यू एकमात्र मालिक है, तो दृश्य 'RemoveFromSuperview' के बाद हमेशा के लिए चला जाएगा, है ना? – Philip007

+0

'removeFromSuperview' विधि 'willMoveToSuperview:' और' didMoveToSuperview' को 'self'' जारी करने से पहले 'self'' भेजती है। यदि पर्यवेक्षक के पास सबव्यूव का एकमात्र मजबूत संदर्भ था, तो सबव्यूव को हटाए जाने से पहले संदेश प्राप्त होंगे। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^