Я пытаюсь выяснить, что происходит с моим кодом Route-Me, используя симулятор Xcode iPad 4.2 и симулятор iPad 5 и оба симулятора и давая разные результаты. Вот фрагмент кода:
//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]; это происходит снова с отсутствующей правой частью экрана.