2012-08-13 23 views
17

मेरा वर्तमान प्रोग्राम केवल परिदृश्य अभिविन्यास का समर्थन करता है।आईओएस में UIPopoverController अभिविन्यास क्रैश 6

आईओएस 6 में, यह UIPopoverController पर क्रैश हो गया।

'UIApplicationInvalidInterfaceOrientation', कारण: 'समर्थित झुकाव आवेदन के साथ कोई आम उन्मुखीकरण है, और shouldAutorotate लौटा रहा है हाँ'

मैं इस परियोजना के लिए सभी उन्मुखीकरण सक्षम है, यह अच्छी तरह से काम कर रहा है। हालांकि, मुझे केवल दृश्यों का समर्थन करने के लिए सभी विचारों के लिए बहुत कुछ बदलना होगा।

में UIOrientation को ठीक करने का कोई आसान तरीका है?

+2

हाय @satungod, मेरा उत्तर दुर्भाग्य मॉडरेटर द्वारा हटाना गया था क्योंकि मैं पहले से ही एक और धागा पर पोस्ट किया था ... काफी निष्पक्ष। कृपया यह उत्तर यहां प्राप्त करें: http://stackoverflow.com/a/12575058/662605 - मैं दूसरे को निर्देशित करने के लिए एक नया उत्तर जोड़ रहा हूं। – Daniel

उत्तर

0

कोशिश जोड़ने अपने UIApplicationDelegate के लिए निम्न:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { 
    return UIInterfaceOrientationMaskAll; 
} 

आप अभी भी अपने Info.plist फ़ाइल में और प्रत्येक दृश्य नियंत्रक के supportedInterfaceOrientations: विधि में एक मुखौटा वापस लौट कर अपनी समर्थित इंटरफ़ेस झुकाव सेट कर सकते हैं।

+0

यह सही है, https://devforums.apple.com/message/731764#731764 – Zeophlite

0

न्यू UIImagePickerController का एक उपवर्ग और जोड़ने के इस कोड:

@property (nonatomic)NSUInteger supportedInterfaceOrientations; 

-(NSUInteger)supportedInterfaceOrientations{ 
    return _supportedInterfaceOrientations; 
} 
-(BOOL)shouldAutorotate{ 
    return YES; 
} 

इस तरह यह प्रयोग करें:

if (imagePickerController==nil) { 
     imagePickerController = [[WUIImagePickerController alloc]init];//the subclass 
     imagePickerController.delegate = self; 
     imagePickerController.supportedInterfaceOrientations = UIInterfaceOrientationMaskLandscapeRight;//any orientation you want to set 
     if (popoverController==nil) { 
      popoverController = [[UIPopoverController alloc]initWithContentViewController:imagePickerController]; 
     } 
    } 

कौन एक बेहतर तरीका कृपया मुझे बताओ को जानता है।

+1

के अनुसार, डैनियल के उत्तर पर एक नज़र डालें। उत्तर के साथ एक लिंक है। –

+1

यह एक सेटर विधि नहीं है imagePickerController.supportedInterfaceOrientations = UIInterfaceOrientationMaskLandscapeRight; पूरी तरह से गलत ... –

0

आपका यह link है। शुरुआत में सभी उन्मुखताओं का समर्थन करने के लिए आपको अपना आवेदन सेट करना होगा। ऐप प्रतिनिधि में परिवर्तन करें।

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 

{ 
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     return UIInterfaceOrientationMaskAll; 
    else /* iphone */ 
     return UIInterfaceOrientationMaskAllButUpsideDown; 

} 
0
@interface NonRotatingUIImagePickerController : UIImagePickerController 

@end 

@implementation NonRotatingUIImagePickerController 

- (BOOL)shouldAutorotate 
{ 
    return NO; 
} 

@end 

UIImagePickerController *picker = [[NonRotatingUIImagePickerController alloc] init]; 

उपयोग से ऊपर संहिता, यह मेरे लिए काम किया।

0
Use these delegates for orientation, 
- (BOOL)shouldAutorotate 
{ 

return YES; 
} 

-(NSUInteger)supportedInterfaceOrientations 

{ 
return UIInterfaceOrientationMaskLandscape; 

} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationLandscapeLeft; 
} 
संबंधित मुद्दे