屏幕旋转一般有三种方式:
第一种、系统自带的自动旋转,只需要在Xcode - General设置即可
General
第二种、 UI层面的旋转,某个控制器的View的旋转,其实这是一种假象,只是设置View的transform,把View.center= [UIApplication sharedApplication].keyWindow.center , 重写View的Frame即可,在返回的时候需设置回来
全屏
非全屏
第三种、是让控制器旋转,这里需要在APPdelegate里面定义一个BOOL值,增加方法如图
APP delegate.m
在相应的控制器里刚开始的地方设置这个BOOL值,
设置BOOL值
最后在点击全屏的方法里分别设置,
全屏
非全屏
在全屏和非全屏时需要重写控件的Frame,当然,在全屏按钮那里可以增加旋转动画,到此你会发现功能已经实现,但是,状态栏没了,天哪,怎么会出现这种事情,不禁一咯噔。。。。。
通过查阅资料发现,在iOS7 时旋转屏幕,状态栏是有的,在iOS8之后,旋转之后默认状态栏是隐藏的,这就需要设置View controller-bar status bar appearance = NO.
同时在appdelegate里面设置一下状态栏就OK搞定收工!!!