我有什么:
我有一个支持肖像和风景的viewcontroller。在横向中,我显示了肖像内容的过滤视图。
我需要做什么:
当用户在横向视图中选择过滤器时,我想强制将设备旋转回肖像。
我做了一些谷歌搜索并发现了
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
这是一个私有API,我不想这样做。 (但令人兴奋的是我所追求的)
简而言之 - 在用户操作上我想强行旋转设备。 我在文档中遗漏了什么吗?
任何想法都是超级的。 丹
答案 0 :(得分:2)
从经验中学到了这一点!在viewDidLoad:
:
UIViewController *vc = [[UIViewController alloc] init];
[self presentModalViewControllerAnimated:NO];
[self dismissModalViewControllerAnimated:NO];
如果仅为YES
返回shouldAutorotateToInterfaceOrientation
,则会强制使用横向广告。没有私人API!
答案 1 :(得分:-1)
你可以试试这个如果有效。
-(void)forceFullyPortraitView{
[self.appDel.navigationController.view removeFromSuperview];
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
[ [UIApplication sharedApplication].self.delegate.window addSubview:self.appDel.navigationController.view];
self.navigationController.navigationBar.hidden=NO;
}
-(void)forceFullyLandscapeView{
[self.appDel.navigationController.view removeFromSuperview];
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
[ [UIApplication sharedApplication].self.delegate.window addSubview:self.appDel.navigationController.view];
self.navigationController.navigationBar.hidden=NO;
}
您可以向右或向左设置landScape。