Я использую это довольно часто. Допустим, вы хотите нажать на изображение и представить всплывающее окно с информацией о нем. Предполагая, что у вас есть распознаватель жестов с методом селектора (handleImageTap:)
на вашем изображении, вот пример кода, чтобы это произошло:
- (void)handleImageTap:(UIGestureRecognizer *)gesture {
// initialize your popover view controller and assign it to your popoverController
MyPopoverViewController *content = [[MyPopoverViewController alloc] init];
popoverController = [[UIPopoverController alloc] initWithContentViewController:content];
popoverController.popoverContentSize = CGSizeMake(600, 600);
popoverController.delegate = self;
[content release];
if (popoverController.popoverVisible == NO) {
// you can find the tappedImage through the gesture by searching up superviews if you don't already have a reference to it;
[popoverController presentPopoverFromRect:[tappedImage frame] inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
else {
[popoverController dismissPopoverAnimated:YES];
}
}
Так что, в принципе, view
будет self.view, потому что вы отображаете его из текущего контроллера представления. rect
- это любой прямоугольник, из которого вы хотите отобразить поповер. В этом случае он настроен на отображение из рамки изображения. Я надеюсь, это поможет вам. Если что-то все еще сбивает с толку, я буду рад попытаться выяснить это