In Project Settings should change into support orientation to Unlock(Tick-Mark) the all items.
The code used to one Time Orientation Lock.
When run the (Portrait-Lock)code in your app, The app is support Autorotate Function. If you want to Autorotate, You can run the (Portrait-UnLock)code in your app.
If want use in Single Page, Use the (Portrait-Lock)code in viewWillAppear (or) viewDidAppear and (Portrait-UnLock)code used in viewWillDisappear (or) Navigate Button (or) Back Button.
AppDelegate.h File
@property (nonatomic) BOOL screenIsPortraitOnly;
AppDelegate.m File
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
NSUInteger orientations = UIInterfaceOrientationMaskPortrait;
if (self.screenIsPortraitOnly)
{
return UIInterfaceOrientationMaskPortrait;
}
else
{
if(self.window.rootViewController)
{
UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
orientations = [presentedViewController supportedInterfaceOrientations];
}
return orientations;
}
}
ViewController.m File
//Orientation UnLock Code
-(void)viewWillAppear:(BOOL)animated
{
[self portraitUnLock];
}
/**** or ****/
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:true];
[self portraitUnLock];
}
//Orientation Lock Code
-(void)viewWillDisappear:(BOOL)animated
{
[self portraitLock];
}
/**** or ****/
//Button Code
- (IBAction)Back_Clicked:(id)sender
{
[self portraitLock];
[self.navigationController popViewControllerAnimated:YES];
}
-(void)portraitLock
{
AppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.screenIsPortraitOnly = true;
}
-(void)portraitUnLock
{
AppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.screenIsPortraitOnly = false;
}
No comments:
Post a Comment