- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IOS屏幕自动旋转与调节大小
iOS开发7:自动旋转与调整大小
苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和横向。
默认情况下,我们写的程序都是纵向的,就像前边的几个例子中那样。如果运行以前写的程序,当把模拟器旋转,你会发现很不友好,有的控件看不见了。这个时候,自动旋转就显得很有必要了。
1、我们先不谈如何实现自动旋转,先讲讲如何让程序知道它支持哪几种旋转。
运行Xcode 4.2,新建一个Single View Application,程序名为RotateTest,其他设置如下图:
创建好工程后,打开的第一个页面包含如下视图:
我们可以在这里设置程序支持哪种旋转,只需选中那个按钮。从上图可以看出,默认情况下,iPhone程序不支持倒过来的旋转,因为如果视图是倒过来的,而此时突然来电话,那么会很不方便,因为页面依然是倒过来的。但是,如果你创建了一个iPad程序,你回发现上图四个按钮都是选中的,即iPad程序默认支持所有旋转。
注意,如果为程序创建了多个View Controller,那么每个View Controller都要可以设置所支持的旋转,不过,新建的View Controller设置的值必须是主View Controller的子集。
其实,我们修改上图中的按钮,实质上修改的是我们程序的plist文件,在这个工程中,是RotateTest-Info.plist文件,如下图,展开这个文件,最下面显示的就是所支持的旋转:
上面是设置支持选中的一种方法。我们也可以在代码中设定所支持的旋转。打开ViewController.m,找到shouldAutorotateToInterfaceOrientation方法,完整代码如下:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
上面的代码表明,不支持倒转(UIInterfaceOrientationPortraitUpsideDown)。
iOS中定义了四个表示方向的变量:
UIInterfaceOrientationPortrait
UIInterfaceOrientationPortraitUpsideDown
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
如果iOS设置旋转了,程序就会调用这个方向,如果返回YES就旋转视图,否则的话就不旋转。如果你建立了一个iPad程序,这个方法就是简单的返回YES。
2、既然我们已经让程序知道支持什么旋转了,下面讲讲如何实现。
在iOS中有三种方法可以实现自动旋转。
(1)最简单的方法就是利用Xcode中的Size Inpector:
(2)在View所对应的ViewController.m中重写willAnimateRotationToInterfaceOrientation方法,在这个方法中重新设置控件的大小与位置。
(3)再新建一个视图,这样,我们有两个视图了,一个纵向,一个横向。在这两个视图上设计好了之后,当旋转时根据旋转方向,调用相应的视图。
3、以下是这三个方法的简单使用。
3.1 使用Size Inpector实现自动旋转:
① 单击ViewController.xib,在打开的视图区域拖放两个Button在上面,分别命名为“按钮上”和“按钮下”,页面布局如下图:
图中两个按钮在水平方向上是居中放置的。
② 运行程序,并将模拟器旋转,对比一下旋转前后的效果:
旋转之后,“按钮下”不见了。不过,“按钮上”的坐标和大小其实是没变的。
我现在想实现旋转之后两个按钮还是水平方向居中,并且还是一个在顶端、一个在底端。为实现这个,我要做以下工作:
③ 在View中选中“按钮上”,打开Size Inspector,把左边的红实线改成虚线:
④ 在View中选中“按钮下”,打开Size Inspector,把左边和上边的红实线改成虚线,下边的红虚线改成实线:
外围的红实线表示距离不变,例如上图右中下方的红实线就表示对应的控件与下方的距离不变,而其他方向会自动调整。现在运行一下并旋转模拟器,看看效果:
3.2 重写willAnimateRotationToInterfaceOrientation方法,重新设置
您可能关注的文档
- .21“诸子百家”学案华东师大版.doc
- FLV转MP4格式转换器完美的教程.doc
- Foxmail邮件签名自己作.doc
- Foxmail邮箱账户怎样导入与导出邮件.doc
- Foxmail怎样导入与导出邮箱账号.doc
- FOXMAIL邮件地址薄使用的教程.doc
- foxmail邮件模版设定.doc
- Frontpage2000中文的教程2.doc
- FriedSPC4软件操作手则.doc
- FrontPage操作方法.doc
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
最近下载
- 脱氧麻黄碱技术总结.pptx
- 2024年部编新改版语文六年级上册第八单元复习课教案及单元检测题(含答.pdf
- 地理-第五章《中国的地理差异》知识点(图片版) .doc VIP
- 承诺春节不离岗承诺书.docx
- 《法律职业伦理》全套配套PPT课件(共234页PPT).pptx
- pcs221说明书国内中文版.pdf
- 高水平专业群(A档)“双高计划”中期绩效自评报告:浙江建设职业技术学院 工程造价 专业群.pdf VIP
- 麻黄碱脱氧反应乳化和油化的解决技巧.docx VIP
- JJG(沪) 47-2004 垂直螺翼式水表检定规程.pdf
- 高水平专业群(A档)“双高计划”中期绩效自评报告:湖南工业职业技术学院 数控技术 专业群.pdf VIP
文档评论(0)