爵士
我正在制作mapview模块,其中横向是唯一允许的方向,但其他方面仅限于纵向。当在设备ios 7和8上运行时,视图控制器仍然呈现为纵向,除非我必须手动将设备转为横向。你能告诉我还有什么其他步骤吗?
以下是我的代码
AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic) BOOL isTaskPoint;
@end
AppDelegate.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) return YES;
return NO;
}
PreviousController.m
MapViewController * sliderVC = [[MapViewController alloc] init ];
AppDelegate *appDelegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
appDelegate.isTaskPoint = TRUE;
sliderVC.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:sliderVC animated:NO completion:nil];
sliderVC.view.backgroundColor = [UIColor clearColor];
// MapSwift maps =
MapViewController.h
- (void)bannerTapped:(UIGestureRecognizer *)gestureRecognizer {
AppDelegate *appDelegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
appDelegate.isTaskPoint = FALSE;
[self dismissViewControllerAnimated: NO completion:nil];
}
的MapViewController
- (BOOL) shouldAutorotate {
return YES;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight|| interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
答案 0 :(得分:0)
有一个真正有效的技巧。 您可以访问状态栏并设置其方向。下次以模态方式显示视图时,这将变为活动状态。 但是,在显示模态后,您可以删除模态显示的视图控制器。当您在同一方法中执行此操作时,用户将不会注意到任何关联。 现在设备具有所需的方向。您现在可以安全地推动您想要处于另一个方向的视图控制器。
从该视图控制器返回时,不要忘记将其向后旋转!
查看此问题的答案。它附带了一些代码片段。 Force controllers to Change their orientation in Either Portrait or Landscape
答案 1 :(得分:-1)
如果要在某些视图控制器中禁用或启用特定方向,则this可能对您有所帮助。
如果您想以特定方向打开某个视图,请在viewDidLoad
中使用它NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];