Я все еще довольно новичок в iOS в целом и нашел проблему при тестировании нашего приложения для совместимости с iOS 8. В iOS 7 все работало нормально, но в iOS 8 rightCalloutAccessoryView смещается при определенных обстоятельствах.
Первый снимок экрана: Правильно выровненный
Вторая скриншот: неправильное выравнивание
Как вы можете видеть, проблема возникает, когда InfoWindow имеет длинный заголовок. Но это не относится к iOS 7, и я не мог найти ничего, что могло бы измениться?
Я попытался понять, почему и найти способ решить эту проблему, но ничего не смог найти. Является ли это решаемым самостоятельно или мы должны подать вопрос Apple?
Любая помощь/идеи будет высоко оценена, поскольку я как-то переусердствовал с этой проблемой.
Код, который добавляет MKAnnotationViews
- (MKAnnotationView *)viewForStation:(id<MKAnnotation>)annotation {
static NSString *stationIdentifier = @"stao";
MKAnnotationView *annotationView = [self.mapView dequeueReusableAnnotationViewWithIdentifier:stationIdentifier];
if (annotationView == nil) {
annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:stationIdentifier];
annotationView.image = [UIImage bundleImageNamed:PIN_IMAGE];
annotationView.canShowCallout = YES;
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
return annotationView;
}
Как вам может быть интересно, я (сейчас) также добавил этот вопрос в раздел iOS 8 Beta на apple.developer.com: https://devforums.apple.com/thread/242282?tstart=0
Если я получу ответ либо здесь, либо на apple.developer.com, я отражу его, чтобы мы могли найти его на обоих сайтах.