Я только что работал над этим, но хотел сделать как можно больше на раскадровке, что немного меняет подход:
1) Выберите поповер на раскадровке и снимите отметку./ Вниз / Влево / Вправо, чтобы избавиться от стрелок.
Чтобы отцентрировать его на экране переопределения, подготовьтесь к переходу и сделайте что-то вроде этого:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIStoryboardPopoverSegue* popover = (UIStoryboardPopoverSegue*)segue;
CGFloat horizontalInset = (self.view.frame.size.width - popover.popoverController.popoverContentSize.width) / (CGFloat)2.0;
CGFloat verticalInset = (self.view.frame.size.height - popover.popoverController.popoverContentSize.height) / (CGFloat)2.0;
popover.popoverController.popoverLayoutMargins =
UIEdgeInsetsMake(
verticalInset,
horizontalInset,
verticalInset,
horizontalInset);
}
В моем случае я также обнаружил, чторадиус угла поп-сегмента не соответствовал моему дизайну, поэтому я изменяю цвет фона, чтобы очистить, чтобы разобраться, т.е. добавьте это к блоку выше:
popover.popoverController.backgroundColor = [UIColor clearColor];
2) В контроллере назначения для поиска segueатрибут «Popover» и отметьте «Использовать явный размер» и укажите размер, который вы хотите, чтобы он отображался в режиме всплывающего окна.