Как установить предпочтение одному направлению стрелки при использовании нескольких UIPopoverPresentationController allowArrowDirections? - PullRequest
0 голосов
/ 01 июля 2019

Я делаю всплывающий контроллер представления презентации, где мне нужно использовать несколько направлений стрелок (up и down).Для того, чтобы иметь несколько permittedArrowDirections, я следовал Установить несколько направлений стрелки на UIPopoverController в Swift .Также я подправил цвет фона всплывающего окна так, чтобы стрелка сливалась с видом затемнения фона.

Проблема в том, что мне нужно предпочесть UIPopoverArrowDirection.up почти для всех случаев, но для случаев, когда естьнедостаточно места прямо под исходным представлением, только тогда следует использовать UIPopoverArrowDirection.down.Но я не могу найти, чтобы понять это.Фрагмент кода:

let presentationController = .....
presentationController.sourceView = sourceView
presentationController.sourceRect = sourceView.bounds

// changing the array order doesn't help
presentationController.permittedArrowDirections = [.up, .down]

presentationController.backgroundColor = UIColor(white: 0, alpha: 0)
self.present(controller, animated: true)

Чтобы прояснить ситуацию, я присоединяю токовый выход: pop over preferred arrow direction

Исходный код демонстрацииПопытка может быть найдена здесь , если кому-то нужно следовать.

...