Стрелка Popover для отслеживания объекта в прокрутке

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

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

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

К сожалению, UITableView является, а не содержится в UIScrollView, поэтому я не могу просто представить всплывающее окно в системе координат табличного представления. Кроме того, ячейки таблицы, похоже, не имеют определенного фрейма для представления всплывающего окна. Я не вижу в API способа перемещать стрелку всплывающего окна вручную.

Любые идеи? Спасибо.


person David M.    schedule 09.08.2010    source источник


Ответы (1)


Оказывается, вы можете использовать presentPopoverFromRect:InView:, даже когда всплывающее окно уже представлено; это заставит всплывающий контроллер пересчитать положение стрелки.

person David M.    schedule 23.08.2010
comment
Это задокументировано в Технических вопросах и ответах QA1694: developer.apple.com/iphone/ библиотека/qa/qa2010/qa1694.html - person Stephan Burlot; 17.01.2011
comment
Только что проверил это на iOS 8, и это не работает (уже). Вызов presentPopoverFromRect:InView:... не обновляет положение стрелки UIPopoverController после его добавления на экран. - person Yannick; 26.01.2015