Я использую раскладку segue, которая представляет контроллер представлений как popover. Сек имеет собственный UIView
как его якорь. На pre-iOS9 popover будет правильно указывать на центральное дно пользовательского UIView
(представленного ниже UIView). На iOS9 он указывает на верхний левый угол UIView
.
Я попытался проследить все вызовы селектора на пользовательский UIView
, чтобы узнать, есть ли что-нибудь, что мне может понадобиться реализовать в моем настраиваемом UIView
, чтобы предоставить "горячую точку" для popover, но не смог найти ничего
Любые идеи..? Благодаря
Благодаря @Igor Camilo его ответ - в случае, если это полезно для некоторых, вот как я исправил это в своем коде:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIPopoverPresentationController* possiblePopOver = segue.destinationViewController.popoverPresentationController;
if (possiblePopOver != nil) {
//
// iOS9 -- ensure correct sourceRect
//
possiblePopOver.sourceRect = possiblePopOver.sourceView.bounds;
}
...
}
Пример: Кнопка "Короткие" запускает popover, popover указывает на верхний левый угол элемента "Сортировка"