gpt4 book ai didi

objective-c - 在 iOS6 中的单个 UIViewController 上禁用自动旋转

转载 作者:太空狗 更新时间:2023-10-30 03:13:56 26 4
gpt4 key购买 nike

我有一个使用 UINavigationControllersegues 的项目工作正常,它们都正确旋转,问题是......我只想禁用 autorotation 在特定的 UIViewController 上。我试过这个:

- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation {
return NO;
}

// New Autorotation support for iOS 6.
- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0){
return NO;
}

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}

但它不起作用,我的 UIViewController 一直自动旋转,欢迎任何帮助:)

最佳答案

根据 View Controller 编程指南

如果您想暂时禁用自动旋转,请避免操纵方向蒙版来执行此操作。相反,覆盖初始 View Controller 上的 shouldAutorotate 方法。在执行任何自转之前调用此方法。如果返回 NO,则旋转被抑制。

因此您需要子类化“UINavigationController”,实现 shouldAutorotate 并在 Storyboard中使用您的导航 Controller 类。

- (BOOL)shouldAutorotate
{
id currentViewController = self.topViewController;

if ([currentViewController isKindOfClass:[DetailViewController class]])
return NO;

return YES;
}

关于objective-c - 在 iOS6 中的单个 UIViewController 上禁用自动旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370806/

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