1.支持横竖屏,但默认打开时是横屏

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:YES];

//Landscape开头的是横屏

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{

//支持横屏
    return (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

让模拟器横屏,然后加一个视图控制控制它的转向为横屏

2.仅仅支持横屏,不支持竖屏

众所周知,iOS APP默认支持四个方向,即Portrait、PortraitUpsideDown、LandscapeLeft、LandscapeRight。在有些画图类、游戏类应用中,需要限制APP仅支持横屏或仅支持竖屏,这就需要在程序中禁止支持其他两个方向。下面以横屏应用为例介绍一下如何进行设置(xcode版本为4.6.1):

首先,在项目的info.plist中去掉竖屏的两个方向,保留横屏方向,如下图所示

然后,在项目中的UINavigationController子类中添加如下代码

[plain]  view plain copy
  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  2. {
  3. return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
  4. interfaceOrientation == UIInterfaceOrientationLandscapeRight );
  5. }

对于仅支持横屏的应用,需要注意下面的问题:

iOS模拟器有个在viewDidLoad时,不论你模拟器的方向是什么方向,它默认一开始总是Portrait竖屏,因此width跟height也是竖屏的数值。

解决方法:一种方法是通过view的autoresizingMask属性对width以及height进行设置,设备转向时能够保证这些view的width、height按照竖屏的标准来调整;另一种方法是直接在viewDidLoad中不使用autoresizingMask,而是交换width和height的值,再按照横屏去布局。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.如何让设备只支持横屏(landscape)模式

在iPad应用开发时如何让设备只支持横屏(landscape)模式,我做了多次尝试,并没有发现比较简捷的设置方法。我尝试了大概大概3种方式。

1、通过XCode设置“iPad Deployment info”,只选择横屏左和横屏右,部署测试后并没有生效,这种方法实质是在xxx_info.plist项目配置文件中添加如下信息:<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
2、通过对每个nib文件在IB中设置orientation为landscape,此法也不生效。
3、重载shouldAutorotateToInterfaceOrientation:方法,这种方式是可行的。具体如下:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{    // Return YES for supported orientations
return ((interfaceOrientation ==UIDeviceOrientationLandscapeLeft)||(interfaceOrientation ==UIDeviceOrientationLandscapeRight));
}
如果第一种方式生效,那么比较完美。虽然第三种方式可以完全满足横屏的需求,但是实现起来比较stupid,需要在每个controller中都重载shouldAutorotateToInterfaceOrientation:方法,当然也可以通过扩展UIViewController的方式来避免重复劳动。但是感觉也有点不太直接,期待有人指出sdk本身是否就有简捷方式支持。

iOS -- ipad横屏应用的设置相关推荐

  1. iphone文件访问ftp服务器,ipad ftp服务器 iPhone/iPad访问FTP服务器设置步骤

    ipad ftp服务器 iPhone/iPad访问FTP服务器设置步骤 2013-02-27 15:35:39 脚本之家 有时候出门在外需要用到电脑中的文件,但是却没有携带电脑或者U盘,那么该怎么办呢 ...

  2. ios linux远程控制软件,ios手机远程控制 ToDesk 1.0.9 iOS/iPad 版下载(远程控制软件)-520下载...

    ToDesk 1.0.9 iOS/iPad 版是一款极致流畅的远程协助软件,ToDesk是一款安全实用且流畅的远程控制软件,可以轻松实现远程控制.文件传输等一系列操作,提升工作生活的效率,为远程客户提 ...

  3. html全屏ipad顶部状态栏,iPad横屏和竖屏界面尺寸设计规范【最全】

    今天25学堂继续跟大家回顾一下ipad界面设计尺寸规范和具体的设计数值.这里从ipad横屏.竖屏的2个不同的场景跟大家聊聊ipad的界面设计尺寸规范. 之前25学堂也跟大家分享过: 今天跟随老谭童鞋一 ...

  4. 未开启横屏时,设置了宽高为窗口100%的视频,竖屏方向播放时,变形问题解决

    当手机未开启横屏时,设置了宽高为窗口100%的视频,竖屏方向播放时,会有拉伸,可以根据手机宽高比例判断横竖屏状态,来设置旋转视频元素,同时更新设置视频元素宽高(与之前状态的宽高值对调) demo: & ...

  5. Ipad 横屏、分屏页面布局错乱问题

    Ipad 横屏.分屏页面布局错乱问题 一:自定义cell.自定义view 重写layoutSubViews方法 二: 重写VC 的 viewWillLayoutSubviews方法 例如:collec ...

  6. iOS开发夜间模式的设置(主题切换)

    iOS开发夜间模式的设置(主题切换) 很长一段时间没有写博客了.想到自己最近刚好做了不少重构,刚好可以总结一下. 夜间模式,很多阅读类的或资讯类的App都会这个功能.以前自己也做过,现在把它抽出来封装 ...

  7. iOS国际化(多国语言设置)

    1. 基本设置 第一步:先在Project的info里添加所需要支持的语言,这里选择的是Chinese(Simplified)和English-Development Language,点击Finis ...

  8. ios IPad全局禁止横屏设置

    开发应用中,如果需要应用禁止横屏,除了在项目的target里设置[去除勾选支持的方向],还需要勾选Full Screen选项[默认没有勾选,此时需要勾选],然后在AppDelegate中加入代码: - ...

  9. ios键盘横屏_平板电脑就只能追剧玩游戏?看这款外设键盘如何让iPad爱上办公...

    随着移动通信设备技术的日趋成熟,移动办公已经成为当代办公的一种常态.办公室里已经不再是清一色的台式PC机的配置,越来越多的文职人员也开始标配移动办公设备. 智能手机和平板电脑作为日常使用频率最高的移动 ...

最新文章

  1. Linux常用指令---find | locate(查找)
  2. HTML5 通过 FileReader 实现文件上传
  3. 剑指offer之判断二叉树是不是平衡二叉树
  4. 基于Netty的RPC简易实现
  5. centos7下cups + samba共打印服务的教程
  6. python 等值面 插值_利用numpy/scipy从三维阵列计算等值面
  7. 进阶12 多线程、等待唤醒机制、线程池
  8. 如何在 Internet Explorer 中禁用和使用 ADODB.Stream 对象
  9. OpenCore启动项中无Install macOS Big Sur 的解决办法
  10. Visual Basic(VB6.0)精简版
  11. 资江小票打印机js实现web打印(web通用打印)
  12. 2021中国科学院文献情报中心期刊分区表 计算机(2)
  13. 3D打印行业入行总结
  14. 超详细软件工程黑书思维导图(从第一章到第八章)
  15. 外联式 vue+element ui 表格导出e'xcel
  16. DAX :表值函数 ADDCOLUMNS 和 SELECTCOLUMNS
  17. Maven学习(一)---Maven简介
  18. Wallpaper 双屏单独显示壁纸
  19. pqc的中文全称_品质部门 一次看懂IQC / IPQC / PQC / FQC / OQC!
  20. Google 东京奥运会 Doodle

热门文章

  1. 六十星系之32天机独坐丑未
  2. 英语作文 计算机科学的未来趋势,2019高考英语作文10大热点预测+范文(书面表达).docx...
  3. 计算机财务管理模型分析报告,计算机财务管理实验报告1.doc
  4. 上机实验3-2 Java面向对象编程(二)
  5. pointofix 全局快捷键_【Pointofix电脑版下载】Pointofix中文版 v1.7 电脑版-开心电玩...
  6. 黑窗口检测wamp的命令_OpenCV AdaBoost + Haar目标检测技术内幕(上)
  7. 微信小程序认证成功怎么操作
  8. 深度学习中的fan_in与fan_out
  9. Linux下CPython源码的编译
  10. mac x linux桌面壁纸,苹果Mac OS X Lion 系统高清官方壁纸