первая проблема:
Если я использую default PopoverContentController, я вижу стрелку, но на моем изображении ее нет. Я использую эту строку, чтобы удалить направление стрелки:
Код: Выделить всё
popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0)
вторая проблема:
Чтобы получить меню как в В примере изображения мне нужно удалить фон, чтобы увидеть расстояние между элементами. Я пытаюсь использовать этот код
Код: Выделить всё
popoverPresentationController.backgroundColor = .celar
Код: Выделить всё
view.backgroundColor = .celar
полный код:
Код: Выделить всё
let popoverContentController = MenuVC()
popoverContentController.modalPresentationStyle = .popover
let popoverPresentationController = popoverContentController.popoverPresentationController
popoverPresentationController?.permittedArrowDirections = .up
popoverPresentationController?.sourceView = self.view
popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0)
popoverContentController.preferredContentSize = CGSize(width: 250, height: 250)
popoverPresentationController?.delegate = self
popoverPresentationController?.sourceRect = CGRect(
x: self.rightStackView.frame.origin.x + self.rightStackView.arrangedSubviews[0].frame.origin.x + (rightBarButtonWidth/2),
y: self.rightStackView.frame.origin.y + self.rightStackView.arrangedSubviews[0].frame.origin.y + (rightBarButtonHeight),
width: 0,
height: 0)
present(popoverContentController, animated: true, completion: nil)

Подробнее здесь: https://stackoverflow.com/questions/787 ... pover-menu
Мобильная версия