我有一个案例需要在我的应用程序中创建一个新的UIWindow
。我还希望新窗口以纵向方式锁定,但我的应用程序的原始窗口应 NOT 以纵向锁定。
我正在设置我的新窗口:
newWindow = UIWindow(frame: CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height))
newWindow?.rootViewController = ViewController2()
newWindow?.makeKeyAndVisible()
ViewController2
锁定方向:
override var shouldAutorotate: Bool {
return false
}
问题是,当显示新窗口并且用户旋转设备时,应用程序本身将以纵向锁定,但状态栏将旋转为横向模式:
如何确保状态栏还在新窗口中锁定了肖像?
如果有人想在一个简单的项目中看到这个:https://github.com/rajohns08/StatusBar
答案 0 :(得分:1)
请将此文档用于解决您的问题 https://developer.apple.com/reference/uikit/uiinterfaceorientationmask
或 解决方案在app委托中。您可以分别处理每个窗口支持的方向:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// check, which window is asking and return the mask
return UIInterfaceOrientationMaskAllButUpsideDown;
}