gpt4 book ai didi

ios - 在单独的 UIWindow 中锁定状态栏方向

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:24 25 4
gpt4 key购买 nike

我有一个案例,我需要在我的应用程序中创建一个新的 UIWindow。我还希望新窗口锁定为纵向,但我的应用程序的原始窗口不应锁定为纵向。

我正在这样设置我的新窗口:

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
}

问题是,当显示新窗口并且用户旋转设备时,应用程序本身会锁定在纵向模式,但状态栏会旋转到横向模式: enter image description here

如何确保状态栏在我的新窗口中也锁定为纵向?

如果有人想在一个简单的项目中看到它的实际效果:https://github.com/rajohns08/StatusBar

最佳答案

使用此文档解决您的问题 https://developer.apple.com/reference/uikit/uiinterfaceorientationmask

或者解决方案在应用程序委托(delegate)中。您可以分别处理每个窗口的支持方向,那里:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// check, which window is asking and return the mask
return UIInterfaceOrientationMaskAllButUpsideDown;
}

关于ios - 在单独的 UIWindow 中锁定状态栏方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43286962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com