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);

        }

        

    }

  • 相关阅读:
    树莓派交叉编译环境搭建
    手机购买怎样识别假货——一点心得体会分享!
    Ubuntu 网站服务器环境搭建
    转载:Raspberry Pi 树莓派入门
    Python中的条件选择和循环语句
    关于VMare中安装Ubuntu的一些说明
    如何去掉系统快捷方式的箭头和更改登录界面背景图片
    重装系统后,硬盘分区丢失的解决办法
    Python中的字符串
    Python的基础语法
  • 原文地址:https://www.cnblogs.com/panfeng1104/p/4496974.html
Copyright © 2011-2022 走看看