针对当前的屏幕方向进行对应的代码布局

 

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

 

 

相关文章:

  • 2022-03-05
  • 2022-12-23
  • 2021-09-28
  • 2021-09-13
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
猜你喜欢
  • 2021-12-15
  • 2022-03-06
  • 2021-11-09
  • 2022-01-11
  • 2021-08-16
  • 2021-05-27
  • 2021-10-25
相关资源
相似解决方案