gpt4 book ai didi

iphone - UIInterfaceOrientation subview 中的旋转不起作用

转载 作者:行者123 更新时间:2023-12-03 21:18:50 27 4
gpt4 key购买 nike

在我的应用程序中,我使用 UITabbarController,它可以完美旋转到所有 View Controller 中的所有 UIInterfaceOrientations。但是当我之后将 UIView 添加到 UIWindow 时,它不会添加到当前的 UIInterfaceOrientation 中,而是始终添加到 UInterfaceOrientationPortrait 中(这是应用程序的默认值)。它也不会旋转到新的方向。我使用以下方法添加 ViewController:

LoginViewController *loginViewController = [[LoginViewController alloc] init];
[self.window addSubview:[loginViewController view]];

我有

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSLog(@"%@", @"YES IT WILL!");
}

在 LoginViewController.m 中,但永远不会记录任何内容。知道为什么 subview 不会旋转吗?

侧滑

编辑:找到了解决方案:显然 UIWindow 应该只有一个 subview ,而不是更多,否则事情会变得一团糟,所以我调用:

LoginViewController *loginViewController = [[LoginViewController alloc] init];
[tabBarController presentModalViewController:loginViewController animated:YES];

相反,这将很好地自动旋转 loginviewcontrollers View 。

最佳答案

我在另一个 View 中有一个 View ,当发生旋转时,只有父级 willRotateToInterfaceOrientation 被调用,所以我所做的是添加 [self.subViewController willRotateToInterfaceOrientation:toInterfaceOrientationuration:duration]; 到父级的 willRotateToInterfaceOrientation 方法。

关于iphone - UIInterfaceOrientation subview 中的旋转不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6908698/

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