Вы получаете кадр из ячейки с помощью метода rectForRowAtIndexPath.Это правильно.Однако табличное представление, скорее всего, является подпредставлением более крупного представления iPad, поэтому, когда поповер получает координаты, он считает, что он находится в увеличенном виде.Вот почему поповер появляется не в том месте.
Например, CGRect для строки (0,40,320,44).Вместо всплывающего окна, нацеленного на этот кадр в табличном представлении, оно вместо этого предназначается для этого кадра в главном представлении.
Я решил эту проблему, преобразовав кадр из относительных координат таблицы в координаты в моем увеличенном виде.
код:
CGRect aFrame = [self.myDetailViewController.tableView rectForRowAtIndexPath:[NSIndexPath indexPathForRow:theRow inSection:1]];
[popoverController presentPopoverFromRect:[self.myDetailViewController.tableView convertRect:aFrame toView:self.view] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
Надеюсь, что это поможет другим, кто ищет эту проблему.