我正在为 iPhone 开发一个仅限风景的应用程序。
我在 Xcode 项目设置中选择了所有 4 个方向,并使用以下委托方法缩小了主视图控制器中应用程序的方向:
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
一切都按预期工作,除了主要的 iOS 行为:我希望 iOS 能够显示通知中心、每个警报和控制中心(在 iOS 7 设备上),同时尊重设备的方向,而无需每次都旋转我的应用程序界面。
例如:当我将手机置于纵向模式时,我希望 iOS 上的所有内容(通知中心、警报等)都以纵向模式呈现,而我的应用程序则保持横向模式。
这可行吗?
据我所知,Apple 在他们的应用程序中这样做了,例如默认的相机应用程序。
是否有我可以使用的公共方法来实现这一目标,或者它是私有 API 的一部分?