我想禁用我的应用程序的轮换,这在iOS 9中有效。我已经尝试了
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
但没人工作。谁知道?
答案 0 :(得分:2)
sscanf
在Plist文件中添加以上键,并根据您的要求添加方向。
我添加了一个例如。
答案 1 :(得分:1)
这应该可以从iOS 6开始运行,但我只在iOS 8上测试过它。子类UINavigationController并覆盖以下方法:
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeRight;
}
- (BOOL)shouldAutorotate {
return NO;
}
或询问可见视图控制器
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return self.visibleViewController.preferredInterfaceOrientationForPresentation;
}
- (BOOL)shouldAutorotate {
return self.visibleViewController.shouldAutorotate;
}
并在那里实施这些方法。
答案 2 :(得分:1)
的工作原理如下: 在ViewController.m
中写下这个- (BOOL)shouldAutorotate {返回NO; }
在Xcode 7.2,iOS 9.2,iPhone 6s Plus中尝试过。