gpt4 book ai didi

ios - UIWindow rootviewcontroller - 方向错误

转载 作者:行者123 更新时间:2023-11-29 04:22:39 26 4
gpt4 key购买 nike

我正在开发一个 iPad 应用程序,用户只需输入密码就可以(在某些情况下)打开该应用程序。因此我需要像 LoginViewController 这样的东西。但首先,让我们处理常见情况,即应用程序只需要显示 HomeViewController:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//...
self.controllerHomeView = [[HomeViewController alloc] initWithNibName:@"HomeView" bundle:nil];
self.controllerHomeView.showInitialGuide = isFirstLaunch;
self.window.rootViewController = controllerHomeView;
[self.window makeKeyAndVisible];
//..
}

但是,正如我之前所说,某些用户可能已经定义了密码,如果是这样,我们需要显示登录屏幕。这就是我启用此类功能的方法:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
//---
if(isAppPinSecured && !loginIsAlreadyDisplaying) {
LoginBackgroundViewController *controllerLoginBG = [[LoginBackgroundViewController alloc] initWithNibName:@"LoginBackgroundView" bundle:nil];
self.appPinInputBG = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default-Landscape@2x~ipad.png"]];
self.appPinInputBG.frame = CGRectMake(0, 0, 1024, 748);
self.appPinInputBG.userInteractionEnabled = YES;
[controllerLoginBG.view addSubview:self.appPinInputBG];
//present new root = background
self.window.rootViewController = controllerLoginBG;
//...
}
}

我正在做的是将 Root View Controller 更改为LoginViewController,如果用户输入正确的密码,则从LoginViewController更改回HomeViewController

到目前为止,除了方向之外,一切正常。如果当前界面方向未知,因为 iPad 例如放置在 table 上时,LoginViewController 方向为 LandscapeRight,而不是 HomeViewController 中的方向 (LandscapeLeft)。如果你手里拿着 iPad,它可以正常工作,但在其他情况下则完全不行。

关于如何解决该问题有什么建议吗?我确实在 plist 文件中设置了应用程序方向(横向左)。我确实在 Home- 和 LoginViewController 中使用 UIInterfaceOrientationIsLandscape(...) 实现了 shouldAutorotate。

提前致谢!

最佳答案

啊,问题是,我试图在调用 viewDidAppear 之前以模态方式推送 View Controller -> 你永远不应该这样做......

由于此错误更改我的代码后,它的工作就像一个魅力

关于ios - UIWindow rootviewcontroller - 方向错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781898/

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