所以我有一个 UISplitViewController,它是我程序的根视图。我已将初始方向设置为 LandscapeLeft,并在我的 plist 中支持所有 4 个方向。
如果我以纵向方式启动应用程序 - 显示的视图是我的根视图而不是详细视图,这显然不是我想要的。只要我旋转设备,一切都会从那里开始。
我已经搜索了这个网站和其他网站,但没有找到任何修复方法。我最接近的是将以下内容添加到我的应用程序委托中:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
if (UIDeviceOrientationIsValidInterfaceOrientation([UIDevice currentDevice].orientation)) {
if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
else
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationPortrait;
}
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
因此,这实质上会强制它正确绘制,除了当应用程序在设备平放的情况下启动时效果很好。然后我不知道纵向与横向(而且我不知道找不到它)。所以我基本上不能准确地说该怎么做。
更大的事情是上面的代码是一个HACK,应该有更好的方法,但对于我的生活我找不到它。
有任何想法吗?