我正在尝试使用 Xcode iPad 4.2 模拟器和 iPad 5 模拟器以及两个模拟器来确定我的 Route-Me 代码正在发生的事情,并给出不同的结果。这是代码的片段:
//set size of the map view
[self setMapView:[[[RMMapView alloc] initWithFrame:CGRectMake(0.0, 0.0, 1024, 768)] autorelease]];
[mapView setBackgroundColor:[UIColor blackColor]];
self.view = mapView;
//set locked on default location of view, currently on conus
CLLocationCoordinate2D newLocation;
newLocation.latitude = 37.83;
newLocation.longitude = -96.58;
[[mapView contents] moveToLatLong:newLocation];
[[mapView contents] setZoom:4.5];
然后在下面我将应用程序设置为仅使用横向模式:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { return YES; } return NO;
}
我在 Xcode 的 iPad Simulator 4.2 中运行这段代码,我得到了下面这张看起来很完美的图片:
然后我在 Xcode 的 iPad Simulator 5 上运行同样的代码,我得到了这个奇怪的图像:
我很困惑他们不应该产生相同的结果吗?还是我在这里遗漏了什么?
编辑:我在我的 plist 文件中将初始界面方向和支持的界面方向设置为只有横向。
EDIT2:我尝试按原样使用下面的代码运行它,它似乎可以工作,但是如果你将 setZoom 行放入代码中,图片会再次被切断,请参见截图:
[self setMapView:[[RMMapView alloc] initWithFrame:CGRectMake(0.0, 0.0, 1024, 768)]];
[mapView setBackgroundColor:[UIColor grayColor]];
self.view = mapView;
这真的很奇怪,一旦我添加了 [mapView.contents setZoom:4.5]; 它再次发生在屏幕右侧丢失的部分。