iOS 屏幕方向那点事儿
http://zhenby.com/blog/2013/08/20/talk-ios-orientation/
针对当前的屏幕方向进行对应的代码布局
BIDViewController.m
#import "BIDViewController.h" @interface BIDViewController () @end @implementation BIDViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIApplication *app = [UIApplication sharedApplication]; // 获取单例UIApplication UIInterfaceOrientation currentOrientation = app.statusBarOrientation; // 获取当前状态栏的方向 [self doLayoutForOrientation:currentOrientation]; } // 用于横纵屏变化的时候的切换用portrait和landscape是两个视图 - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [self doLayoutForOrientation:toInterfaceOrientation]; } - (void)doLayoutForOrientation:(UIInterfaceOrientation)orientation { if (UIInterfaceOrientationIsPortrait(orientation)) { // 屏幕在垂直方向 _bigButton.frame = CGRectMake(20, 20, 280, 280); // 重新绘画控件的位置大小 _actionButton1.frame = CGRectMake(20, 320, 120, 40); _actionButton2.frame = CGRectMake(20, 400, 120, 40); _actionButton3.frame = CGRectMake(180, 320, 120, 40); _actionButton4.frame = CGRectMake(180, 400, 120, 40); } else { // 屏幕在横屏方向 _bigButton.frame = CGRectMake(20, 20, 260, 260); _actionButton1.frame = CGRectMake(320, 20, 120, 40); _actionButton2.frame = CGRectMake(320, 90, 120, 40); _actionButton3.frame = CGRectMake(320, 160, 120, 40); _actionButton4.frame = CGRectMake(320, 230, 120, 40); } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end