iOS 强制横屏

//
//  AAAAViewController.m
//  hengp
//
//  Created by 朱信磊 on 15/2/13.
//  Copyright (c) 2015年 niit. All rights reserved.
//

#import "AAAAViewController.h"
#import "AppDelegate.h"
@interface AAAAViewController ()

@end

@implementation AAAAViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        [self initView];
    }
    return self;
}
-(void)initView{
    UIButton *bt=[[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 80)];
    [bt setTitle:@"返回" forState:UIControlStateNormal];
    [bt setBackgroundColor:[UIColor blueColor]];
    [bt addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:bt];
    
    
    
    AppDelegate *appdelegate=[[UIApplication sharedApplication] delegate];
    [[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeRight animated:YES];
    CGFloat duration = [UIApplication sharedApplication].statusBarOrientationAnimationDuration;
    //设置旋转动画
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:duration];
    //设置导航栏旋转
    appdelegate.nav.navigationBar.frame = CGRectMake(-204, 224, 480, 32);
    appdelegate.nav.navigationBar.transform = CGAffineTransformMakeRotation(M_PI*1.5);
    //设置视图旋转
    self.view.bounds = CGRectMake(0, -54, self.view.frame.size.width, self.view.frame.size.height);
    self.view.transform = CGAffineTransformMakeRotation(M_PI*1.5);
     [self setNeedsStatusBarAppearanceUpdate];
    [UIView commitAnimations];
    
    
}
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
//
- (BOOL)prefersStatusBarHidden//for iOS7.0
{
    return YES;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view setBackgroundColor:[UIColor whiteColor]];
    
}



- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)back{
     AppDelegate *appdelegate=[[UIApplication sharedApplication] delegate];
    [appdelegate.nav popViewControllerAnimated:YES];
}



/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
原文地址:https://www.cnblogs.com/niit-soft-518/p/4290831.html