在我的 ios6 应用程序中,supportedInterface 定向方法调用了 2 次。如何防止这种情况以及如何使其在 ios6 中只调用一次。请让我知道解决此问题的方法。提前致谢。
-(BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
orientationControlString=@"thumbnailNotSelected";
NSLog(@"appdelegate.previewImageScallingmethodCallControlValue value is %d",appdelegate.previewImageScallingmethodCallControlValue); //Gestures settings
viewsHiddingGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(operationsOnViews:)];
viewsHiddingGesture.cancelsTouchesInView=NO;
[self.view addGestureRecognizer:viewsHiddingGesture];
launchPopOverGesture=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(annotationsPopOver:)];
launchPopOverGesture.minimumPressDuration=0.8;
launchPopOverGesture.allowableMovement=NO;
launchPopOverGesture.cancelsTouchesInView=NO;
[tiledView addGestureRecognizer:launchPopOverGesture];
addAnnotationsGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(addPinAnnotation:)];
annotationScroller.contentSize=CGSizeMake(258, 700);
appdelegate =(AppDelegate *)[[UIApplication sharedApplication]delegate];
UIInterfaceOrientation statusBarOrientation =[UIApplication sharedApplication].statusBarOrientation;
NSLog(@"statusBarOrientation in supported interface orientations is %d",statusBarOrientation);
NSLog(@"PREVIEWIMAGESCALLING VALUE IS %d",appdelegate.previewImageScallingmethodCallControlValue);
if(statusBarOrientation == UIInterfaceOrientationLandscapeLeft || statusBarOrientation == UIInterfaceOrientationLandscapeRight)
{
// code for landscape orientation
patternRemovalValue=0;
[self landscapeOrientation];
if(appdelegate.previewImageScallingmethodCallControlValue==1)
{
[self previewImageScallingInLandscape];
firstOrientationChange=YES;
appdelegate.getImagesResponseArrayObjectNumber=0;
}
else if(((appdelegate.previewImageScallingmethodCallControlValue%2)==0) && (appdelegate.previewImageScallingmethodCallControlValue > 1))
{
[self previewImageScallingInLandscape];
firstOrientationChange=NO;
}
appdelegate.orientationChangesCount++;
patternRemovalValue++;
appdelegate.previewImageScallingmethodCallControlValue++;
}
else if(statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown || statusBarOrientation == UIInterfaceOrientationPortrait)
{
// code for Portrait orientation
patternRemovalValue=0;
[self potraitOrientation];
if(appdelegate.previewImageScallingmethodCallControlValue==1)
{
[self previewImageScallingInPotrait];
firstOrientationChange=YES;
appdelegate.getImagesResponseArrayObjectNumber=0;
}
else if(((appdelegate.previewImageScallingmethodCallControlValue%2)==0) && (appdelegate.previewImageScallingmethodCallControlValue > 1))
{
[self previewImageScallingInPotrait];
firstOrientationChange=NO;
}
patternRemovalValue++;
appdelegate.previewImageScallingmethodCallControlValue++;
}
return UIInterfaceOrientationMaskAll;
}