iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题

首先配置工程 使其支持屏幕旋转

rootViewController为UITabBarController的情况下 建议创建一个UITabBarController的公共父类 在里面实现如下代理方法

iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题_第1张图片


依次解释为:

preferredInterfaceOrientationForPresentation 打开时当前界面的朝向

shouldAutorotate 是否支持旋转

supportedInterfaceOrientations 所支持的旋转方向

return返回的为当前选中 tabar 的支援情况



在 tabbar 中放UINavigationController后 还需要在 UINavigationController父类中实现如下 

iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题_第2张图片

然后如果某个界面想支持屏幕旋转 只需要在Controller里面重写写方法即可

iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题_第3张图片

(总结下来为 APP 中 tabbar中的支持旋转由 tabbar 下的 UINavigationController 控制 而UINavigationController的旋转由你自己在当前Controller中设置的值来控制)



情况二 就是在手机为横屏模式下打开APP  APP会按照横屏来布局

需要在 如下方法中新加

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];//此方法

....

}

这样就会解决横屏模式下打开 APP 产生的一些问题

(情况二 容易出现的一些问题为:当你在didFinishLaunchingWithOptions中 加载了另一个 window 的时候需要在自己建的 window 中也遵守屏幕旋转的几个代理方法 不然横屏模式下打开APP布局依然会乱)


有问题请留言 TUT (编辑于 2018.09.03)

你可能感兴趣的:(iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题)