我对UIInterfaceOrientation
有一个奇怪的问题。在我的项目中有许多不同的视图,其中一些应该以横向模式旋转,其中一些不应该。问题是所有未使用Storyboard创建的视图和仅启用UIInterfaceOrientation
纵向的视图都可以正常工作,视图不会旋转,而是使用故事板创建的所有视图,即使{{{ 1}}横向模式被禁用,他们继续旋转。在我的Xcode项目设置中,这些检查已启用,我无法更改它们:
如何在所有不同视图中完全禁用设备旋转? [故事板与否]。
这是我用来在所有storyboard视图控制器中禁用设备方向的代码,但它不起作用:
UIInterfaceOrientation
答案 0 :(得分:1)
试试这段代码可能会对你有用。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientationMask)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationMaskPortrait);
}
答案 1 :(得分:1)
解决方案是将一个UINavigationController
类分配给Storyboard文件中的UINavigationController,并将此代码放在他的.m文件中:
- (BOOL)shouldAutorotate {
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationPortrait;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return UIInterfaceOrientationIsPortrait(toInterfaceOrientation);
}
答案 2 :(得分:0)
请检查您的项目.plist中是否有多个项目用于定位或奇怪的内容。我有时发现方向在plist或重复键中具有不同的值。 希望它有所帮助