2010-12-21 14 views

उत्तर

231
कार्य आप करने की आवश्यकता है कि किस तरह के आधार पर

, वहाँ कई तकनीकें हैं:

  1. -(id)initWithFrame:(CGRect)frame - UIView के नामित प्रारंभकर्ता; इसे शुरू करने के लिए हमेशा एक UIView को भेजा जाता है, जब तक कि दृश्य को निब से लोड किया जाता है;
  2. -(id)initWithCoder:(NSCoder *)coder - जब भी दृश्य को निब से लोड किया जाता है तो हमेशा एक UIView प्रारंभ करने के लिए भेजा जाता है;
  3. -(void)awakeFromNib - निब में सभी वस्तुओं को प्रारंभ करने और कनेक्ट करने के बाद भेजा गया है; केवल तभी लागू होता है जब आप ऑब्जेक्ट को निब से लोड करते हैं; आपको सुपर कॉल करना होगा;
  4. -(void)willMoveToSuperview:(UIView *)newSuperview - किसी अन्य दृश्य के दृश्य के रूप में दृश्य को जोड़ने से पहले तुरंत भेजा गया; newSuperview शून्य हो सकता है जब आप दृश्य को अपने पर्यवेक्षण से हटाते हैं;
  5. -(void)willMoveToWindow:(UIWindow *)newWindow - दृश्य (या इसके पर्यवेक्षण) को खिड़की में जोड़ा जाने से पहले तुरंत भेजा गया; जब आप विंडो से दृश्य हटाते हैं तो newWindow शून्य हो सकता है;
  6. -(void)didMoveToSuperview - दृश्य पदानुक्रम में दृश्य डालने के तुरंत बाद भेजा गया;
  7. -(void)didMoveToWindow - दृश्य के तुरंत बाद भेजा गया है इसकी विंडो संपत्ति सेट हो जाती है। -

मूल रूप से, आप उस के बाद (6 & अपने कार्यों प्रारंभ (1 & 2) के दौरान, एक निब (3) से लोड करने के बाद, प्रविष्टि से पहले एक दृश्य पदानुक्रम (4 & 5) में प्रदर्शन करने के लिए चुन सकते हैं और 7)।

+0

धन्यवाद बहुत सही उत्तर (बहुत विस्तृत)। मैं एक सेगमेंट नियंत्रण को संशोधित कर रहा था और यह परिवर्तनों को प्रदर्शित नहीं कर रहा था क्योंकि मैं init के दौरान संशोधन विधि को बुला रहा था, मैंने इसे किया है MoveToWindow और यह सभी समस्याओं को ठीक किया गया – aryaxt

+0

अच्छी तरह से समझाया गया .. समुदाय विकी – yasirmturk

+1

के रूप में चिह्नित करें यह सब ऐसा लगता है viewDidLoad देखने से पहले हुआ नियंत्रक –

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

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