Is there a way to present a UIPopover from a UITableView index?

I would like to introduce a UIPopover from a UITableView index. Here is my code:

if (indexPath.row == 5) {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    EnginesPopoverController  *enginesPopoverController = [[EnginesPopoverController alloc] initWithNibName:@"EnginesPopoverController" bundle:nil];

    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:enginesPopoverController];

    self.popoverController = popover;
    popoverController.delegate = self;

    [popover release];
    [enginesPopoverController release];

    CGPoint point = {670, 600};
    CGSize size = {450, 216};

    [popoverController presentPopoverFromRect:CGRectMake(point.x, point.y, size.width, size.height) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];                 
}

If I try to introduce Popover from UIButton, that would be fine ...

Thank!

+3
source share
2 answers

This is what I do:

CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath]; 
CGRect popoverRect = CGRectMake(self.view.bounds.size.width - self.popoverController.popoverContentSize.width,
                                CGRectGetMidY(cellRect),
                                1.0, 1.0);

The location xI use puts a popover on the right side of the screen. Perhaps this is not what you want. You can use gesture recognizers to find the current touch point.

In response, please try to answer my related question: Popover arrow to track the scrollable object

0
source

, : ( "storytPop" ) - popover , , .

CGRect cellRect = [self.tableView rectForRowAtIndexPath:indexPath]; 
[self.storytPop presentPopoverFromRect:cellRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
0

Source: https://habr.com/ru/post/1757337/


All Articles