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

}

}

转载于:https://www.cnblogs.com/panfeng1104/p/4496974.html

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

  1. iPhone,iPad横屏竖屏的判断

    1.方法一:当屏幕变化时会自动调用此方法 - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)inter ...

  2. android横屏分辨率,android适配不同分辨率hdpi、mdpi、ldpi横屏竖屏

    一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layo ...

  3. 判断横屏竖屏方式(三种)

    本文主要介绍了通过HTML,CSS,JS三种判断横屏竖屏的方法.具有很好的参考价值,下面跟着小编一起来看下吧 在做移动端页面的时候经常会遇到需要判断横屏还是竖屏.下面将目前已知的通过HTML,CSS, ...

  4. 手绘白板动画视频制作工具VideoScribe 3.11.2 Windows最新横屏竖屏方屏视频号普屏电商六合一汉化中文专业版画布和输出视频无水印支持720p和1080p高清输出

    众所周知VideoScribe(以下简称VS)有7天免费试用版,任何人都可以去下载最新的安装包体验试用,支持Windows 64位系统和macOS苹果系统.免费试用版有以下特点: 默认提供美国英语,西 ...

  5. java 强制安卓竖屏,Android4.0强制横屏竖屏

    Android4.0强制横屏竖屏 方法一: android4.0/frameworks/base/services/Java/com/android/server/wm/WindowManagerSe ...

  6. css多媒体竖屏,css3 媒体查询方向:横屏竖屏教程

    大家好,今天给大家分享的是css3 媒体查询方向:横屏竖屏教程,希望大家喜欢. 说道媒体查询,很多人会感觉陌生,但是对于做响应式开发的同学来说,那是再熟悉不过了. 结合CSS媒体查询,可以创建适应不同 ...

  7. android横屏竖屏设置

    Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 ...

  8. Android 布局旋转 横屏竖屏

    Android 屏幕旋转 横屏竖屏 横屏 竖屏 布局旋转 横屏 竖屏 方法一: *注意在setContentView()之前 if(this.getResources().getConfigurati ...

  9. Android 模拟器横屏竖屏切换设置

    Android 模拟器横屏竖屏切换设置 时间:2012-07-04   来源:设计与开发   作者:Daniel   点击:5571 摘要:  Android 模拟器旋转,横屏.竖屏切换设置,andr ...

最新文章

  1. 刷了几千道算法题,我私藏的刷题网站都在这里了
  2. CentOS5.5下NIS配置
  3. 高性能Cordova App开发学习笔记
  4. JDBC、DriverManage、JNDI、数据源(DataSource)、连接池的区别
  5. 团队作业-第二周-测试计划
  6. linux 跨服务器备份,用BackupPC架设Linux跨平台备份服务器
  7. 东南亚本地商ERP仓储系统怎么样?
  8. php读写文件要加锁
  9. Atitit 方法运行器methodRunnerV3 方法虚拟机 vm 新特性 java -cp C:\0wkspc\methodRunner\bin -Djava.ext.dirs=
  10. 2个dataframe,df1的每一列分别乘以df2的某一列
  11. 2.1.1 理论模型
  12. win8删除计算机管理员权限,win8.1系统如何删除administrator账户
  13. 个人网站个人主页的建立
  14. 学习PPT,这些制作设计技巧需先掌握
  15. 抖音内容运营全解剖,看这一篇就够了 !
  16. 百度网盘下载限速解决
  17. springboot 集成redis key乱码\xac\xed\x00\x05t\x00\x0eHAOKE_HOT_WORD
  18. 为什么要做计划管理?因为稳住Flag就能赢
  19. swapidc鸟云模板源码开源
  20. 数字藏品APP系统开发|数字藏品系统引见

热门文章

  1. Trunk与三层交换机技术
  2. win10便签常驻桌面_Windows桌面美化
  3. 【统计学】基本Stata使用手册(5):面板数据
  4. mac下tomcat启用APR模式
  5. 解决FTPC 自带ireport对象调用打印机条码显示不全,反转,空白等问题
  6. MATLAB安装libsvm工具箱的方法
  7. 如何开发一个全新的操作系统(手机操作系统)呢?
  8. 计算机语言周长,C语言计算矩形的周长和面积
  9. 微信小程序基础(全家福02)
  10. win7+vs2015+pcl 1.8.0配置