2009-01-12 17 views
5

मेरे पास नेविगेशन बार के साथ एक UIView है। जब उपयोगकर्ता आईफोन को लैंडस्केप ओरिएंटेशन में रखता है, तो क्या मैं नेविगेशन बार को छुपा सकता हूं, और इसे फिर से पोर्ट्रेट व्यू पर दिखाया जा सकता है?घूर्णन पर नेविगेशन बार छुपाएं

उत्तर

6

यह दस्तावेज़ीकरण में ढूंढना बहुत आसान है। UINavigationController डॉक्स में, नेविगेशन बार छुपाने के लिए, आप का उपयोग करें:

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated 

आप ऐसा करने जब डिवाइस घूमता है, तो आप अपने दृश्य नियंत्रक विधि (UIViewController में वर्णित में ऐसा करना चाहते हैं जाएगा चाहते हैं डॉक्स): - iPhone की फोटो गैलरी को देखने की तरह

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 
+0

अगर चाहते हैं कि नेविगेशनबार को कभी भी छुपाया न जाए तो अभिविन्यास बदलना चाहिए, लेकिन जब भी मैं परिदृश्य में स्विच करता हूं तो यह हमेशा छिपा रहता है, यह कोड भी काम नहीं कर रहा है। कृपया मेरी मदद करें –

-2

एक बेहतर तरीका IMHO एक CGAffineTransform उपयोग करें, और नेविगेशन बार यह वह जगह है जहाँ छोड़ने के लिए है। जेफ लैमर के उत्कृष्ट परिचय Demystifying CGAffineTransform देखें। मुझे थोड़ा सा मदद की।

8
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 
    [[self navigationController] setNavigationBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES]; 
    [[UIApplication sharedApplication] setStatusBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES]; 
} 
संबंधित मुद्दे