zoukankan      html  css  js  c++  java
  • 关于iphone和ipad横屏竖屏 适配问题

    首先 先在viewWillAppear 里面 注册通知

    - (void)viewWillAppear:(BOOL)animated

    {

        [super viewWillAppear:animated];

        //注册屏幕旋转 消息通知

        [[NSNotificationCenter defaultCenter] addObserver:self

                                                 selector:@selector(changeFrames:)

                                                     name:UIDeviceOrientationDidChangeNotification

                                                   object:nil];

        }

    viewDidLoad 初始化控件 

    收到通知后

    //收到通知后改变view坐标

    -(void)changeFrames:(NSNotification *)notification

    {

        CGRect rect = [UIScreen mainScreen].bounds;

        

        if ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait

            || [[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortraitUpsideDown)

        {

            NSLog(@"portrait");

            _fancyTabBar.frame=CGRectMake(rect.size.width-300,rect.size.height-300, 300, 300);

        }

        else

        {

            NSLog(@"横屏");

            _fancyTabBar.frame=CGRectMake(rect.size.height-40,rect.size.width-550, 300, 300);

        }

    }

    如果是ipad 版

    //收到通知后改变view坐标

    -(void)changeFrames:(NSNotification *)notification

    {

        CGRect rect = [UIScreen mainScreen].bounds;

        

        if ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait)

        {

            NSLog(@"竖屏home在下");

            _fancyTabBar.frame=CGRectMake(rect.size.width-550,rect.size.height-550, 600, 700);

        }

        else if ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortraitUpsideDown)

        {

            NSLog(@"竖屏home在下");

            _fancyTabBar.frame=CGRectMake(rect.size.width-550,rect.size.height-550, 600, 700);

            

        } else if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft ){

            

            NSLog(@"横屏home在左");

            _fancyTabBar.frame=CGRectMake(rect.size.height-300,rect.size.width-800, 600, 600);

            

        } else{

            

            NSLog(@"横屏home在右");

            _fancyTabBar.frame=CGRectMake(rect.size.height-300,rect.size.width-800, 600, 600);

        }

        

    }

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    椭圆曲线加解密
    执行计划多版本查看
    椭圆曲线算法:入门(1)
    “戏精少女”的pandas学习之路,你该这么学!No.5
    用Fabric构建应收账款融资系统的方法
    区块链的去中心化创新
    搜集统计信息
    去中心化计算
  • 原文地址:https://www.cnblogs.com/panfeng1104/p/4496974.html
Copyright © 2011-2022 走看看