2013-03-20 9 views
5

मैं निम्नलिखित कोड का उपयोग कर एक UIView बनाने हूँ:UIView पूर्ण स्क्रीन

UIview* baseView = [[UIview alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
//self.view = baseView; 
[self.view addSubview:baseView]; 
[baseView setBackgroundColor:[UIColor blackColor]]; 
baseView.userInteractionEnabled = YES; 
baseView.alpha = 0.7; 

केवल समस्या यह है कि भले ही मैं mainScreen विकल्प का उपयोग कर रहा है यह निर्धारित करने के लिए पूर्ण स्क्रीन है, यह एक 5 सेमी के अलावा पूर्ण स्क्रीन प्रकट होता है UIWindow के शीर्ष पर लाइन। इस के लिए कोई कारण है?

+0

self.view इंटरफ़ेस बिल्डर – Alessandro

+0

से वर्तमान दृश्य आप एक स्क्रीनशॉट प्रदान कर सके है? – Kunal

उत्तर

15

ठीक है, तो कारण है कि ऐसा होता है, क्योंकि [[UIScreen mainScreen] applicationFrame] खिड़की के फ्रेम शून्य से स्थिति पट्टी के आकार वापस आ जाएगी अगर यह दिख रहा है।

ठीक करने के लिए यह एक आसान तरीका होगा:

UIView* baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 
                  0, 
                  [[UIScreen mainScreen] applicationFrame].size.width, 
                  [[UIScreen mainScreen] applicationFrame].size.height)]; 
//self.view = baseView; 
[self.view addSubview:baseView]; 
[baseView setBackgroundColor:[UIColor blackColor]]; 
baseView.userInteractionEnabled = YES; 
baseView.alpha = 0.7; 
+0

वाह महान जवाब, मैंने इसके बारे में भी सोचा नहीं था। हां अंतराल स्टेटस बार का आकार है :) – Alessandro

+3

मुझे लगता है कि आप [यूआईस्क्रीन मुख्यस्क्रीन] चाहते हैं। [यूस्क्रीन मुख्यस्क्रीन] नहीं है। एप्प्लिकेशन फ्रेम –

+1

यह काम कर रहा है लेकिन यह टैब बार और नेविगेशन बार के नीचे दिखाया गया है। –

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