Я пытаюсь получить popover, чтобы появиться в точке аннотации набора карт, но не могу найти «rect» в свойствах аннотаций, чтобы использовать метод rect для вызова uipopovercontroller. Если задана аннотация на наборе карт, как найти подходящий «кадр»?Размещение стрелки uipopovercontroller в точке аннотации на mapkit
Чтобы дать Полю больше информации, вот моя попытка: Я уже использовал:
- (void)mapView:(MKMapView *)mapView2 annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{
NSLog(@"annotationView...");
MyGizmoClass *myGizmoClass= [MyGizmoClass sharedManager];
int choice = 0;
for (NSMutableDictionary *locationDictionary in [myGizmoClass searchResultsForResortLocation])
{
if([view.annotation.title isEqualToString:[locationDictionary objectForKey:@"name"]])
{
DetailViewTableStyleController *controller = [[DetailViewTableStyleController alloc] initWithlocationData:[[myGizmoClass searchResultsForResortLocation] objectAtIndex:choice] nibName:@"DetailViewTableStyle" bundle:[NSBundle mainBundle]];
controller.categoryCode = [locationDictionary objectForKey:@"category_code"] ;
//create a popover controller
popoverControllerDetail = [[UIPopoverController alloc] initWithContentViewController:controller];
// set contentsize
[popoverControllerDetail setPopoverContentSize:CGSizeMake(320,480)];
//present the popover view non-modal
[popoverControllerDetail presentPopoverFromRect:view.rightCalloutAccessoryView.frame inView:mapView2 permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[controller release];
break;
}
choice = choice + 1;
}
}
И ... Я получаю пирог в верхнем левом углу на краю MapView.
Может ли кто-нибудь сказать мне, почему? Я пытаюсь заставить его появиться рядом с pin/annotationview.
Вам не нужен UILabel. 'displayLabel.frame' просто возвращает CGRect, поэтому вы можете просто использовать' box' напрямую. –
Проблема с presentPopoverFromRect: inView: allowedArrowDirections: анимированный - это то, что если размер содержимого popover больше, чем то, что подходит на экране (например, –