UIPopoverController над UITableViewCell


Я хотел бы программно выбрать строку в табличном представлении, затем представить мое всплывающее окно и позволить стрелке указывать на ячейку.

Этот код прекрасно работает, когда таблица не имеет прокрутки, для просмотра таблицы прокрутки стрелка popover расположена неправильно.

[self.EventsTableView selectRowAtIndexPath:indexPath 
                                  animated:YES 
                            scrollPosition:UITableViewScrollPositionMiddle];

[popoverController presentPopoverFromRect:CGRectOffset(cell.frame, 0, cell.frame.size.height + self.EventsTableView.contentOffset) 
                                   inView:self.view      
                 permittedArrowDirections:UIPopoverArrowDirectionLeft 
                                 animated:YES];

Спасибо за любую помощь

2 3

2 ответа:

Вы должны передать ячейку как вид. Скорее всего, вы захотите перейти границы ячейки (cell.границы, а не клетка.кадр) для прямой кишки.

Приведенный выше метод, похоже, не работает для меня, когда пользователь прокручивает список вниз. Найти положение ячейки относительно прокрученной суммы было трюком.

CGRect rect = [tableView convertRect:[tableView rectForRowAtIndexPath:indexPath]
    toView:tableView]; 

[popoverController presentPopoverFromRect:rect
    inView:tableView
    permittedArrowDirections:UIPopoverArrowDirectionAny
    animated:YES];