将UIInterfaceOrientationPortrait改为UIInterfaceOrientationLandscape
是否有[[UIApplication sharedApplication] setStatusBarOrientation:animated:]
的替代方案?setStatusBarOrientation
,正如你在它的名字中看到的,只旋转状态栏。有什么东西能像物理旋转设备那样旋转整个应用吗?
如果你想手动改变方向(不使用自动旋转),你必须自己旋转和定位视图,正如这个问题的答案所描述的那样。文档中描述了支持自动旋转
if (orientation == UIInterfaceOrientationPortraitUpsideDown) {
if (!window) {
window = [[UIApplication sharedApplication].windows objectAtIndex:0];
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
window.transform = CGAffineTransformMakeRotation(-M_PI);
[UIView commitAnimations];
}
注意:我猜你需要coregraphics框架
你确实可以这样强制旋转:
if ([[UIDevice currentDevice] respondsToSelector: @selector(setOrientation:)]) {
[[UIDevice currentDevice] setOrientation: UIInterfaceOrientationPortrait];
}
如果你想旋转到横向