横屏注意事项:
1、首先,由于苹果公司的限制,我不太推荐强制横屏。因为你搞不过一个公司,所以说你想在某些界面横屏,你的应用就必须要去同时支持横屏、竖屏(你可以在应用的General中设置)。
2、你需要去解决状态栏的问题,不能你的界面转过来了,状态栏还是竖屏的样式吧。那么你就需要在Info.plist中设置View controller-based status bar appearanceiew属性为YES(或者不设置),这样你就可以在每个ViewController中设置状态栏显示/隐藏、白色/黑色等属性。
//状态栏隐藏/显示
- (BOOL)prefersStatusBarHidden {
return NO;
}
3、旋转问题,首先需要改变横竖屏的界面,最好是用Present模态推送过去的,其次你需要在每个ViewController中设置一个方法
//屏幕旋转支持的方向
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft;(你支持哪个方向就可以填写哪个)
}
4、其实到这个地方你已经可以畅游横竖屏切换了,but嘿嘿。假如你的项目中有很多界面,并且那些界面只想支持单一的方向,但是你在General中的设置是支持很多界面的,那么你就需要每个界面都写上面那个方法了,我不敢想象这种太美的画面。
5、这时你就需要一个UIViewController根类,你项目中的所有界面都可以继承它,你把上述几种方法放置进去之后,子类默认继承这些方法,如果哪个界面需要修改,你在那个界面覆盖掉父类的方法就可以了。这样你就不需要在每个界面中设置上述方法了。
6、项目下载地址https://github.com/jizhidejingmo/git-/tree/master
PS:每个纯原生项目,最好是有一个UIViewController基类,一个UINavigationController基类,一个UITabbarController基类,用于控制全局的样式^_^^_^^_^,例如背景色等