2011-06-19 16 views
6
// Create and add a sub view 
CGRect viewRect = CGRectMake(0, 0, 200, 200); 
UIView *a_sub_view = [[UIView alloc] initWithFrame : viewRect]; 

[window addSubview : a_sub_view]; 

कोड की उपरोक्त 3 पंक्तियों को जोड़ने के बाद, xcode कोई त्रुटि या चेतावनियां उत्पन्न नहीं करता है। लेकिन उप-दृश्य बिल्कुल प्रदर्शित नहीं हो रहा है। नमूना कार्यक्रम बिल्कुल पहले जैसा चल रहा है। उम्मीद है कि किसी को पता है कि मददगार मदद कर सकता है।addSubview काम नहीं कर रहा

+2

है कि वास्तव में वास्तव में अपने कोड ? यदि ऐसा है, तो 'a_sub_view' एक सादा 'UIView' है, जो वास्तव में कुछ भी नहीं खींचता है। आपको कस्टम सबक्लास या कुछ अन्य अंतर्निर्मित उप-वर्ग जैसे 'UIButton' को तुरंत चालू करने की आवश्यकता है। –

+0

किस प्रकार की वस्तु 'विंडो' है? – 0x90

+0

विंडो UIWindow है, इससे पहले मैंने विंडो के आधार UIView में "addSubview" की कोशिश की, लेकिन "कोई शो" भी नहीं। – Stanley

उत्तर

15

मैं इसे उपयोगी पृष्ठभूमि रंग सेट करने के लिए तो मैं जानता हूँ कि जहां दृश्य है और सीमाओं पाते हैं।

a_sub_view.backgroundColor = [UIColor redColor]; 

आपके उदाहरण में, आप एक खाली दृश्य बना रहे हैं ताकि आप कुछ भी नहीं देख सकें।

+1

धन्यवाद :) यह अच्छा विचार है –

3

विंडो एक दृश्य नियंत्रक को जोड़ने की अपेक्षा करता है।

फिर आप वर्तमान दृश्य में सबव्यू जोड़ सकते हैं।

तो अपने उदाहरण उपयोग में

:

[self.view addSubview:a_sub_view]; 
3

मैं क्रम में इस का उपयोग कर रहा खिड़की "लगता है" के लिए:

UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; 
[window addSubview:myView]; 

यह भी मेरे लिए काम किया, लेकिन यह थोड़ा भद्दा है:

[self.navigationController.tabBarController.view addSubview:myView]; 

दूसरा एक व्याख्या करने के लिए, मुझे नियंत्रकों को "शीर्ष" दृश्य तक "अनुवर्ती" करना पड़ा। (। मेरा आवेदन मौजूदा टैब के अंदर एक नेविगेशन नियंत्रक के साथ एक टैब पट्टी है)

2

आप ऊपर आईओएस 5 & साथ काम कर रहे हैं, तो आप नीचे के रूप में क्या करना है:

[self.window.rootViewController.view addSubView:viewObject]; 
+0

सही उत्तर .... उनमें से बाकी सभी परिदृश्यों में काम नहीं करते हैं। – iNeo

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