gpt4 book ai didi

iphone - IO6 不调用 -(BOOL)shouldAutorotate

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:49 26 4
gpt4 key购买 nike

我的应用中有一些 View 不想支持方向。在 didFinishLaunchingWithOptions 我添加导航:

...
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:self.viewController];

self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
...

在每个 ViewController 中我都有 UITabBar(我不知道这是否重要)。

在我添加的第一个 View Controller 中:

-(BOOL)shouldAutorotate {
return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

supportedInterfaceOrientations 在 View 加载时调用,但 shouldAutorotate 在我旋转设备时不调用。
我在这里缺少什么?

最佳答案

这是因为 UITabBarcontrollerUINavigationController 都没有将 shouldAutorotate 传递给它的可见 View Controller 。要解决这个问题,您可以子类化 UITabBarController 或 UINavigationController 并从那里转发 shouldAutorotate:

在你的子类 UITabBarController 添加:

- (BOOL)shouldAutorotate
{
return [self.selectedViewController shouldAutorotate];
}

在你的子类 UINavigationController 中添加:

- (BOOL)shouldAutorotate
{
return [self.visibleViewController shouldAutorotate];
}

关于iphone - IO6 不调用 -(BOOL)shouldAutorotate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996293/

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