2009-02-06 17 views
12

मैंने पाया किसेटस्टैटसबार के बाद शीर्ष स्थिति = 0 कैसे सेट करें: हाँ?

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO] 
viewDidLoad पर

, की स्थापना तो अगर मैं शीर्ष करने के लिए एक छवि संरेखित करने के लिए चाहते हैं के बाद, मैं के रूप में .y = -20 में अपनी स्थिति को निर्धारित करने की आवश्यकता होगी;

वहाँ y को शीर्ष स्थान से समन्वय बनाने के लिए वैसे भी है? या क्या स्टेटस बार को छिपाने के बाद यह 20 हो गया है?

पढ़ने के लिए धन्यवाद।

उत्तर

11

मैं एक बिंदु पर एक ऐसी ही समस्या थी और कोड के इस बिट मेरे लिए यह तय:

[viewController.view setFrame: [viewController.view bounds]]; 
+0

बहुत सारे धन्यवाद !!!! :) – Unreality

+4

[self.view setFrame: [self.view सीमाएं]]; <== मैंने इसे इसके बजाय रखा है :) – Unreality

+5

view.bounds का उपयोग करना (मेरे लिए कम से कम) दृश्य को 0,0 पर सही ढंग से ले जाता है, लेकिन फिर भी * नीचे * पर 20px अंतर छोड़ देता है (ध्यान देने योग्य क्योंकि मेरे दृश्य का पृष्ठभूमि रंग सफेद नहीं है)। यह काम करता है: [self.view setFrame: [[UIScreen mainScreen] सीमाएं]]; –

3

मुझे लगता है कि यदि आप स्टेटस बार को प्रारंभ से हटाया जाना चाहते हैं तो आपको Info.plist पर एक UIStatusBarHidden आइटम जोड़ना चाहिए।

[email protected]

तुम भी आकार बदलने के लिए स्वत: आकार बदलना स्थापित करने पर विचार कर सकता है ऊर्ध्वाधर (और क्षैतिज)

पर के तहत देखें क्या करने के लिए क्लिक के उदाहरण के लिए एक पाठ दृश्यhere जोड़े InterfaceBuilder

में

उद्धरण:

आंतरिक बॉक्स में क्षैतिज और लंबवत रेखाओं पर क्लिक करें ताकि वे ठोस लाल रेखाएं बन सकें। एनिमेटेड पूर्वावलोकन से पता चलता है कि टेक्स्ट व्यू का आंतरिक आकार खिड़की के साथ बढ़ेगा और सिकुड़ जाएगा।

+0

आपके उत्तर के लिए बहुत धन्यवाद, लेकिन यह मेरे लिए अच्छा नहीं कर रहा है .. इसे YES/true दोनों में सेट करना अभी भी स्टेटस बार को हटाने में असमर्थ है ... और फिर मैंने पाया कि कोड इसे जोड़ने के बजाय काम करता है कुंजी। मुझे लगता है कि मैंने कुछ गलत किया होगा – Unreality

+0

ओह मुझे पता चला कि मुझे मूल्य को बूलियन प्रकार में पहले सेट करना होगा ... – Unreality

2

यह सुनिश्चित करने के लिए जांचें कि आपके निब में आपके रूट व्यू का आकार ठीक से 480x320 पर सेट है। कुछ टेम्पलेट प्रोजेक्ट उनको स्टेटस बार के लिए खाते में 460x320 पर बनाते हैं। यदि आप एक दृश्य लोड करते हैं जो पूर्ण स्क्रीन फैलाता है और स्टेटस बार छुपा हुआ है, तो इसे केवल काम करना चाहिए और आपको कुछ भी विशेष करने की आवश्यकता नहीं है।

+0

आपके उत्तर के लिए धन्यवाद, और मैंने इसे पहले से ही 480x320 सेट कर दिया है, लेकिन यह 20 पिक्सल सफेद जगह छोड़ रहा है बाद में शीर्ष – Unreality

4

जस्टिन Gallagher के समाधान लगभग ठीक है, लेकिन एक प्रमुख पक्ष प्रभाव पड़ता है।

स्टेटस बार छुपाएं और फिर दृश्य की फ्रेम को अपनी सीमाओं पर सेट करना वर्तमान अभिविन्यास में काम करेगा। लेकिन घूर्णन बदसूरत होगा। उदाहरण के लिए, यदि आप पोर्ट्रेट में हैं, तो डिवाइस को परिदृश्य में घूर्णन करने से पूरे दृश्य के फ्रेम को स्क्रीन पर बड़ी ब्लैक स्पेस छोड़कर, 256 अंकों पर स्थानांतरित किया जाएगा। ऊपर टिप्पणी में (एक और पक्ष प्रभाव के लिए)

bmoeskau समाधान इस समस्या से बचा जाता है:

[self.view setFrame: [[UIScreen mainScreen] bounds]]; 
0

आप एक स्क्रॉल दृश्य एक दृश्य के अंदर नेस्टेड कि भी बदलने के लिए सुनिश्चित करें कि है। इस कोड ने मेरे सभी मुद्दों को हल किया।

[self.view setFrame: [self.view bounds]]; 
[self.theScroller setFrame: [self.view bounds]]; 

"द स्क्रॉलर" मेरे स्क्रॉलव्यू का नाम है।

0

निम्नलिखित समाधान ठीक से काम करता

    दोनों iOS पर
  • 6 और iOS 7,
  • दोनों छिपने और स्थिति पट्टी को दिखाने के लिए
  • , दोनों और आड़े ओरिएंटेशन के साथ
  • , और
  • भी इन-कॉल स्टेटस बार के साथ

आपके विचार नियंत्रक में, इन जोड़ें:

- (BOOL)prefersStatusBarHidden // For iOS 7.0 or above. 
{ 
    return _isStatusBarHidden; 
} 

// Call this method to show/hide the status bar and resize the view. 
- (void)setStatusBarHidden:(BOOL)isStatusBarHidden 
{ 
    _isStatusBarHidden = isStatusBarHidden; 

    // For iOS 7.0 or above... 
    if([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) 
    { 
     // Update status bar visibility. 
     [self setNeedsStatusBarAppearanceUpdate]; // Tell the view controller that the return value of -prefersStatusBarHidden has changed. 
    } 
    // Otherwise... 
    else 
    { 
     // Show or hide status bar. 
     [[UIApplication sharedApplication] setStatusBarHidden:_isStatusBarHidden withAnimation:UIStatusBarAnimationNone]; 

     // Resize view. 
     self.view.frame = [UIScreen mainScreen].applicationFrame; 
    } 
} 

यहाँ, BOOL _isStatusBarHidden; दृश्य नियंत्रक वर्ग के एक सदस्य चर रहा है।

नोट्स:

  • -prefersStatusBarHidden और -setNeedsStatusBarAppearanceUpdate iOS के लिए कर रहे हैं 7.0+।
  • -applicationFrame ऐप विंडो के लिए फ्रेम लौटाता है।
  • आईओएस सिम्युलेटर पर चित्र/लैंडस्केप ओरिएंटेशन का परीक्षण करने के लिए, का उपयोग (दाएं या बाएं घुमा) और (सही बारी बारी से)।
  • आईओएस सिम्युलेटर पर इन-कॉल स्टेटस बार का परीक्षण करने के लिए, वाई का उपयोग करें।
संबंधित मुद्दे