iOS -- ipad横屏应用的设置
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子类中添加如下代码
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
- interfaceOrientation == UIInterfaceOrientationLandscapeRight );
- }
对于仅支持横屏的应用,需要注意下面的问题:
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横屏应用的设置相关推荐
- iphone文件访问ftp服务器,ipad ftp服务器 iPhone/iPad访问FTP服务器设置步骤
ipad ftp服务器 iPhone/iPad访问FTP服务器设置步骤 2013-02-27 15:35:39 脚本之家 有时候出门在外需要用到电脑中的文件,但是却没有携带电脑或者U盘,那么该怎么办呢 ...
- ios linux远程控制软件,ios手机远程控制 ToDesk 1.0.9 iOS/iPad 版下载(远程控制软件)-520下载...
ToDesk 1.0.9 iOS/iPad 版是一款极致流畅的远程协助软件,ToDesk是一款安全实用且流畅的远程控制软件,可以轻松实现远程控制.文件传输等一系列操作,提升工作生活的效率,为远程客户提 ...
- html全屏ipad顶部状态栏,iPad横屏和竖屏界面尺寸设计规范【最全】
今天25学堂继续跟大家回顾一下ipad界面设计尺寸规范和具体的设计数值.这里从ipad横屏.竖屏的2个不同的场景跟大家聊聊ipad的界面设计尺寸规范. 之前25学堂也跟大家分享过: 今天跟随老谭童鞋一 ...
- 未开启横屏时,设置了宽高为窗口100%的视频,竖屏方向播放时,变形问题解决
当手机未开启横屏时,设置了宽高为窗口100%的视频,竖屏方向播放时,会有拉伸,可以根据手机宽高比例判断横竖屏状态,来设置旋转视频元素,同时更新设置视频元素宽高(与之前状态的宽高值对调) demo: & ...
- Ipad 横屏、分屏页面布局错乱问题
Ipad 横屏.分屏页面布局错乱问题 一:自定义cell.自定义view 重写layoutSubViews方法 二: 重写VC 的 viewWillLayoutSubviews方法 例如:collec ...
- iOS开发夜间模式的设置(主题切换)
iOS开发夜间模式的设置(主题切换) 很长一段时间没有写博客了.想到自己最近刚好做了不少重构,刚好可以总结一下. 夜间模式,很多阅读类的或资讯类的App都会这个功能.以前自己也做过,现在把它抽出来封装 ...
- iOS国际化(多国语言设置)
1. 基本设置 第一步:先在Project的info里添加所需要支持的语言,这里选择的是Chinese(Simplified)和English-Development Language,点击Finis ...
- ios IPad全局禁止横屏设置
开发应用中,如果需要应用禁止横屏,除了在项目的target里设置[去除勾选支持的方向],还需要勾选Full Screen选项[默认没有勾选,此时需要勾选],然后在AppDelegate中加入代码: - ...
- ios键盘横屏_平板电脑就只能追剧玩游戏?看这款外设键盘如何让iPad爱上办公...
随着移动通信设备技术的日趋成熟,移动办公已经成为当代办公的一种常态.办公室里已经不再是清一色的台式PC机的配置,越来越多的文职人员也开始标配移动办公设备. 智能手机和平板电脑作为日常使用频率最高的移动 ...
最新文章
- Linux常用指令---find | locate(查找)
- HTML5 通过 FileReader 实现文件上传
- 剑指offer之判断二叉树是不是平衡二叉树
- 基于Netty的RPC简易实现
- centos7下cups + samba共打印服务的教程
- python 等值面 插值_利用numpy/scipy从三维阵列计算等值面
- 进阶12 多线程、等待唤醒机制、线程池
- 如何在 Internet Explorer 中禁用和使用 ADODB.Stream 对象
- OpenCore启动项中无Install macOS Big Sur 的解决办法
- Visual Basic(VB6.0)精简版
- 资江小票打印机js实现web打印(web通用打印)
- 2021中国科学院文献情报中心期刊分区表 计算机(2)
- 3D打印行业入行总结
- 超详细软件工程黑书思维导图(从第一章到第八章)
- 外联式 vue+element ui 表格导出e'xcel
- DAX :表值函数 ADDCOLUMNS 和 SELECTCOLUMNS
- Maven学习(一)---Maven简介
- Wallpaper 双屏单独显示壁纸
- pqc的中文全称_品质部门 一次看懂IQC / IPQC / PQC / FQC / OQC!
- Google 东京奥运会 Doodle
热门文章
- 六十星系之32天机独坐丑未
- 英语作文 计算机科学的未来趋势,2019高考英语作文10大热点预测+范文(书面表达).docx...
- 计算机财务管理模型分析报告,计算机财务管理实验报告1.doc
- 上机实验3-2 Java面向对象编程(二)
- pointofix 全局快捷键_【Pointofix电脑版下载】Pointofix中文版 v1.7 电脑版-开心电玩...
- 黑窗口检测wamp的命令_OpenCV AdaBoost + Haar目标检测技术内幕(上)
- 微信小程序认证成功怎么操作
- 深度学习中的fan_in与fan_out
- Linux下CPython源码的编译
- mac x linux桌面壁纸,苹果Mac OS X Lion 系统高清官方壁纸