मेरे पास UISplitViewController और UISegmentedController का उपयोग करते हुए एक अपेक्षाकृत जटिल सार्वभौमिक ऐप है, और कुछ विचार हैं जो लैंडस्केप का उपयोग करके प्रस्तुत किए जाने चाहिए presentViewController
। ऊपर बताए गए तरीकों का उपयोग करके, मैं iPhone ios 5 और 6 को स्वीकार्य रूप से काम करने में सक्षम था, लेकिन किसी कारण से iPad ने बस लैंडस्केप के रूप में पेश करने से इनकार कर दिया। अंत में, मुझे एक सरल समाधान मिला (पढ़ने और परीक्षण और त्रुटि के घंटों के बाद कार्यान्वित) जो दोनों उपकरणों और ios 5 और 6 के लिए काम करता है।
चरण 1) नियंत्रक पर, आवश्यक अभिविन्यास निर्दिष्ट करें (अधिक या कम जैसा कि ऊपर उल्लेख किया गया है)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
-(BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
NSInteger mask = UIInterfaceOrientationMaskLandscape;
return mask;
}
चरण 2) एक सरल UINavigationController उपवर्ग बनाएं और निम्नलिखित विधियों को लागू करें
-(BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
चरण 3) अपना दृष्टिकोण प्रस्तुत करें
vc = [[MyViewController alloc]init];
MyLandscapeNavigationController *myNavigationController = [[MyLandscapeNavigationController alloc] initWithRootViewController:vc];
[self myNavigationController animated:YES completion:nil];
आशा है कि यह किसी के लिए उपयोगी है।