यह समाधान बताता है कि व्यक्तिगत दृश्य नियंत्रकों पर अभिविन्यास को कैसे नियंत्रित किया जाए, बशर्ते वे एक नेविगेशन नियंत्रक द्वारा प्रबंधित किए जाएं।
एक्सकोड 5 में, "ऑब्जेक्टिव-सी श्रेणी" प्रकार की एक नई फ़ाइल बनाएं, इसे "श्रेणी" को "रोटेशन" पर सेट करें और "श्रेणी" के रूप में "UINavigationController" चुनें।
एक नया फ़ाइल जोड़ी परियोजना में दिखाई देगा, निम्न नामों होने: UINavigationController + rotation.h UINavigationController + rotation.m
मीटर फ़ाइल में निम्न कोड लिखें:
- (BOOL) shouldAutorotate
{
return [[self topViewController] shouldAutorotate];
}
- (NSUInteger) supportedInterfaceOrientations
{
return [[self topViewController] supportedInterfaceOrientations];
}
इस प्रकार, नेविगेशन नियंत्रक मौजूदा शीर्ष दृश्य नियंत्रक को अभिविन्यास नीति निर्धारित करने देगा।
फिर, नेविगेशन नियंत्रक द्वारा प्रबंधित प्रत्येक विशिष्ट दृश्य नियंत्रक में, आप दो अभिविन्यास-संबंधी विधियों को ओवरराइड कर सकते हैं।
उदाहरण के लिए
, अगर एक विशेष दृश्य नियंत्रक केवल पोर्ट्रेट ओरिएंटेशन में दिखाई जाएगी:
- (BOOL) shouldAutorotate
{
return NO;
}
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
सुनिश्चित करें कि वांछित उन्मुखीकरण परियोजना तैनाती की जानकारी में सेट उन में से एक है। आशा है कि यह पर्याप्त रूप से विस्तृत है और सहायता की जा सकती है।
स्रोत
2014-02-04 17:07:02
क्या आपके समाधान को दिखाने वाला कुछ कोड जोड़ना संभव होगा? – rkh
@rkh आपको एक उप-वर्ग बनाने के लिए कोड की आवश्यकता है जो एक फ़ंक्शन को ओवरराइड करता है? –
नहीं, मैं सिर्फ "कोड में" विक्टर को अपने समाधान की व्याख्या करना चाहता था क्योंकि वह एक नए उपयोगकर्ता की तरह लगता है ... मैं अच्छा हूं :) – rkh