ios屏幕自动旋转和调节大小

ios屏幕自动旋转和调节大小

ID:15401470

大小:613.50 KB

页数:10页

时间:2018-08-03

ios屏幕自动旋转和调节大小_第1页
ios屏幕自动旋转和调节大小_第2页
ios屏幕自动旋转和调节大小_第3页
ios屏幕自动旋转和调节大小_第4页
ios屏幕自动旋转和调节大小_第5页
资源描述:

《ios屏幕自动旋转和调节大小》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、iOS开发7:自动旋转与调整大小苹果的产品iPad和iPhone都是支持自动旋转的,因而我们写的程序也要支持两种视图:纵向和横向。默认情况下,我们写的程序都是纵向的,就像前边的几个例子中那样。如果运行以前写的程序,当把模拟器旋转,你会发现很不友好,有的控件看不见了。这个时候,自动旋转就显得很有必要了。1、我们先不谈如何实现自动旋转,先讲讲如何让程序知道它支持哪几种旋转。运行Xcode4.2,新建一个SingleViewApplication,程序名为RotateTest,其他设置如下图:创建好工程后,打开的第一个页面包含如下视图:我们可以在这里设置程序支持哪种旋转

2、,只需选中那个按钮。从上图可以看出,默认情况下,iPhone程序不支持倒过来的旋转,因为如果视图是倒过来的,而此时突然来电话,那么会很不方便,因为页面依然是倒过来的。但是,如果你创建了一个iPad程序,你回发现上图四个按钮都是选中的,即iPad程序默认支持所有旋转。注意,如果为程序创建了多个ViewController,那么每个ViewController都要可以设置所支持的旋转,不过,新建的ViewController设置的值必须是主ViewController的子集。其实,我们修改上图中的按钮,实质上修改的是我们程序的plist文件,在这个工程中,是Rotat

3、eTest-Info.plist文件,如下图,展开这个文件,最下面显示的就是所支持的旋转:上面是设置支持选中的一种方法。我们也可以在代码中设定所支持的旋转。打开ViewController.m,找到shouldAutorotateToInterfaceOrientation方法,完整代码如下:-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{//ReturnYESforsupportedorientationsreturn(inter

4、faceOrientation!=UIInterfaceOrientationPortraitUpsideDown);}上面的代码表明,不支持倒转(UIInterfaceOrientationPortraitUpsideDown)。iOS中定义了四个表示方向的变量:UIInterfaceOrientationPortraitUIInterfaceOrientationPortraitUpsideDownUIInterfaceOrientationLandscapeLeftUIInterfaceOrientationLandscapeRight如果iOS设置旋转了,

5、程序就会调用这个方向,如果返回YES就旋转视图,否则的话就不旋转。如果你建立了一个iPad程序,这个方法就是简单的返回YES。2、既然我们已经让程序知道支持什么旋转了,下面讲讲如何实现。在iOS中有三种方法可以实现自动旋转。(1)最简单的方法就是利用Xcode中的SizeInpector:(2)在View所对应的ViewController.m中重写willAnimateRotationToInterfaceOrientation方法,在这个方法中重新设置控件的大小与位置。(3)再新建一个视图,这样,我们有两个视图了,一个纵向,一个横向。在这两个视图上设计好了之后

6、,当旋转时根据旋转方向,调用相应的视图。3、以下是这三个方法的简单使用。3.1使用SizeInpector实现自动旋转:①单击ViewController.xib,在打开的视图区域拖放两个Button在上面,分别命名为“按钮上”和“按钮下”,页面布局如下图:图中两个按钮在水平方向上是居中放置的。②运行程序,并将模拟器旋转,对比一下旋转前后的效果:旋转之后,“按钮下”不见了。不过,“按钮上”的坐标和大小其实是没变的。我现在想实现旋转之后两个按钮还是水平方向居中,并且还是一个在顶端、一个在底端。为实现这个,我要做以下工作:③在View中选中“按钮上”,打开SizeIn

7、spector,把左边的红实线改成虚线:④在View中选中“按钮下”,打开SizeInspector,把左边和上边的红实线改成虚线,下边的红虚线改成实线:外围的红实线表示距离不变,例如上图右中下方的红实线就表示对应的控件与下方的距离不变,而其他方向会自动调整。现在运行一下并旋转模拟器,看看效果:3.2重写willAnimateRotationToInterfaceOrientation方法,重新设置控件的大小与位置①首先先给这两个按钮添加Outlet映射到ViewController.h,名称分别是button_1和button_2:②在ViewControlle

8、r.m中的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。