6

मैं अपने आवेदन के रूटव्यू के रूप में एक splitviewcontroller का उपयोग कर रहा हूँ। मुझे splitviewcontroller के शीर्ष पर एक मोडल व्यू के रूप में लॉगिन और पंजीकरण दृश्य दिखाना होगा। जब मैं splitViewController के रूटव्यू के viewdidAppear विधि से लॉगिन/reg view प्रस्तुत करने का प्रयास करता हूं, तो यह प्रदर्शित नहीं होता है। मैं निम्नलिखित कोडUISplitViewController और अभिविन्यास - आईओएस <5.0

[self.window.rootViewController presentModalViewController:self.navController animated:NO]; 

और यह काम करता का उपयोग कर AppDelegate के didFinishLaunching विधि से लॉगिन/रेग दृश्य पेश करने की कोशिश की।

मेरे समस्या है, आवेदन दोनों परिदृश्य झुकाव का समर्थन करता है, लेकिन जब मैं डिवाइस में इसे चलाने, कोई फर्क नहीं पड़ता जो अभिविन्यास में मैं डिवाइस पकड़, मैं केवल LandscapeRight अभिविन्यास के रूप में मिलता है। इसलिए यदि मैं लैंडस्केप लिफ्ट अभिविन्यास में डिवाइस को पकड़ता हूं, तो ऐप लॉगिन स्क्रीन के साथ ऊपर की तरफ झुकता है। मैं लैंडस्केप लिफ्ट & का उपयोग कर रहा हूं info.plist पर समर्थित ओरिएंटेशन में।

कृपया इस मुद्दे को हल करने में मेरी सहायता करें। साथ ही जब हम ऐप के रूटव्यू के रूप में splitViewcontroller को विभाजित करते हैं तो हम एक दृश्य कैसे पेश करेंगे?

आईओएस 5.0 (केवल) में मैं splitviewcontroller के रूटव्यू नियंत्रक - viewdidAppear विधि से लॉगिन दृश्य प्रस्तुत करने में सक्षम हूं। अन्य सभी ओएस संस्करणों में, यह मामला काम नहीं कर रहा है और मुझे इसे एपडिलेगेट की डीफिश लांचिंग विधि से पेश करने की आवश्यकता है।

+0

लॉगिन स्क्रीन है जो आपने कार्यान्वित 'के लिए नियंत्रक में - (bool) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation' दो झुकाव आप इच्छा के लिए? –

+0

सही तरीका है अपने splitViewController के viewDidAppear विधि है, जो आपने कहा आईओएस 5 पर काम करता है तो आप उस के लिए स्रोत प्रदान कर सकते हैं तो हम देख सकते हैं कि यह कैसा दिखता से किया जाना चाहिए? शायद वहां कुछ अलग किया जा सकता है। –

उत्तर

0

अगर मैं सही ढंग से याद, IOS वास्तविक उन्मुखीकरण misreports पहले रोटेशन जब तक।

इसके अलावा IIRC, [[UIApplication sharedApplication] statusBarOrientation] का उपयोग कर इस समस्या में गतिरोध उत्पन्न।

-1

खिड़की से लॉगिन दृश्य को हटाने के बाद निम्नलिखित कोड का उपयोग कर उपकरण के ओरिएंटेशन के अनुसार rootviewcontroller दिशा निर्धारित किया है।

#define DegreesToRadians(x) ((x) * M_PI/180.0) 

[LoginviewContoller.view removeFromSuperview] 

self.viewController = [[[ExampleViewController alloc] initWithNibName:@"ExampleViewController" bundle:nil] autorelease]; 

switch(self.viewController.interfaceOrientation) 

{ 
case UIInterfaceOrientationPortrait:    
    NSLog(@"potrait");    
    break; 
case UIInterfaceOrientationPortraitUpsideDown: 
    NSLog(@"prtraitdown"); 
    break; 
case UIInterfaceOrientationLandscapeLeft: 
    self.viewController.view.transform = 
    CGAffineTransformMakeRotation(DegreesToRadians(270)); 
    NSLog(@"lanscapelef"); 
    break; 
case UIInterfaceOrientationLandscapeRight: 
    self.viewController.view.transform = CGAffineTransformMakeRotation(DegreesToRadians(90)); 
    NSLog(@"landcsape righ"); 
    break; 
} 

[self.window addSubview:self.viewController.view]; 

यह डिवाइस अभिविन्यास के अनुसार रूटव्यू कंट्रोलर लोड करेगा।

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