码迷,mamicode.com
首页 > 其他好文 > 详细

关于iphone和ipad横屏竖屏 适配问题

时间:2015-05-12 13:15:50      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

首先 先在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);

    }

    

}

 

关于iphone和ipad横屏竖屏 适配问题

标签:

原文地址:http://www.cnblogs.com/panfeng1104/p/4496974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!