I have a popover which is presented from another popover. They both have tableViews. The second popover for the first row is fine, the arrow is pointing to the middle of the cell. But the others point to the top of the cell, and the arrow is at the top of the popover, not in the middle …
Thats how i construct the popover
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
self.editController = [[TitleViewController alloc] init];
[self.editController setSizeWithWidth:self.view.bounds.size.width AndHeight:140.0];
self.editController.directoryString = [directoryPath stringByAppendingPathComponent:[self.tableView cellForRowAtIndexPath:indexPath].textLabel.text];
self.editPopoverController = [[UIPopoverController alloc] initWithContentViewController:self.editController];
CGRect aFrame = [self.tableView rectForRowAtIndexPath:indexPath];
[self.editPopoverController presentPopoverFromRect:aFrame inView:self.tableView permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}

EDIT
IF I change Arrow Direction to Any, it looks like this.
Back again to ArrowDirection = Left
If I make the changes that were recommended (note that aFrame.size.height * 2and not divided by two), the arrow points to the middle of the cell, but still is awkwardly positioned in the new popover frame (not in the middle)

I think there are 2 possible solutions to this problem:
heightvalue ofaFrametoaFrame.size.height / 2presentPopoverFromRect:inView:permittedArrowDirections:animated:, and make sure theTableViewCell'scontentViewis set as the ‘inView‘ parameter.Hope this helps.