iOS开发实例(五)- 自动旋转
自动旋转屏幕有3种常用方法:
一、自动调整属性(适用比较简单的界面)。
1、创建一个项目Autosize,系统是默认支持Portrait(纵版)、Landscape Left(向左横向)、Landscape Right(向右横向),不支持Upside Down(倒过来),如下图:
2、打开.xib文件,在IB中拖出6个Round Rect Button,按下图摆放和命名:
这个时候Run一下程序,然后在菜单处找到硬件->向左旋转。然后得到如下图结果:
你会发现只有UL位置是对的,其他的都有问题。
3、选中按钮,在属性处找到大小检查器,如下图:
方块里面箭头(→):实线表示可在调整窗口大小时自由更改对象的宽度,虚线表示将对象尽可能的保持原始值。
方块周围的“I”形:表示选定对象的边与包含它的视图的同侧边之间的距离。虚线表示距离是可以灵活可变的,实线表示间距的指应尽可能的保持不变。
4、根据上面的规则修改,如下图:
然后我们在Run一下程序,然后依次点击硬件->向左旋转,如果得到如下图结果,那就证明你成功了。
二、看到视图旋转提示时,手动调整视图中的对象位置。
1、选中6个按钮,同时把他们的高度和宽度设置成125点,然后效果图如下:
2、这个时候我们Run一下程序,然后旋转就会得到如下面的效果:
好混乱,感觉不会再看了。这样的问题要怎么样去解决呢?
3、手动调整视图位置:按住control键分别把6个按钮拖到.h文件的@end前,依次分别命名为:buttonUL,buttonUR,buttonL,buttonR,buttonLL,buttonLR。生成的代码如下:
1
2
3
4
5
6
|
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonUL;
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonUR;
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonL;
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonR;
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonLL;
@property
(weak,
nonatomic
)
IBOutlet
UIButton *buttonLR;
|
4、在旋转时移动代码:在.m文件@end前写一个旋转开始之后的方法,最后的旋转动画发生之前自动调用。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|