【发布时间】:2015-07-08 09:04:34
【问题描述】:
我正在尝试在 iOS 应用上工作,一个 viewController 纵向,一个 viewController 使用 GoogleMap 横向,如下所示:
在实现和测试方面,它显示:
我不确定在 iPhone 6 iOS 8.3 上运行时会怎样。似乎设置设备方向和界面方向是必须设置的不同参数。我有
AppDelegate.m
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
ViewControllerA.m
-(void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
ViewControllerB.m
-(void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
isPresented = YES;
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight];
}
viewDidLoad ...
GMSMarker *marker = [[GMSMarker alloc] init];
NSLog(@"assadsd arrived map");
if(latitide!=0.00&&longitude!=0.00) {
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(latitide, longitude);
marker.position = CLLocationCoordinate2DMake(position.latitude, position.longitude);
camera = [GMSCameraPosition cameraWithLatitude:latitide longitude:longitude zoom:12];
}else{
camera = [GMSCameraPosition cameraWithLatitude:22.2855200 longitude:114.1576900 zoom:12];
marker.position = CLLocationCoordinate2DMake(22.2855200, 114.1576900);
}
self.myMapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
你能告诉我像第一张照片那样工作的诀窍吗?似乎 iOS 8.3 有一些方向错误,必须重新分配正确的视图宽度和高度,但我不确定它是如何工作的。
【问题讨论】:
标签: ios objective-c iphone uiinterfaceorientation