Как указать положение, на которое указывает стрелка контроллера поповера - PullRequest
0 голосов
/ 23 мая 2018

Хорошо известно, что для представления UIAlertController с preferredStyle: .actionSheet хорошей практикой является установка якоря с использованием следующего кода:

 popover.sourceView = view
 popover.sourceRect = view.bounds

В моем случае представление UIImageView он имеет размер 44х44, но его изображение (три вертикальные точки) очень тонкое (его размер 4х24).Так что вид в основном прозрачный.В результате поповер «указывает» на пустое место.(Обратите внимание, что я использую красный цвет, чтобы показать полностью прозрачную область)

enter image description here

В идеале стрелка popover должна указывать на центральную белую точку.Но я не знаю, как этого добиться.Я попытался изменить sourceRect следующим образом:

popover.sourceRect = CGRect(x: view.bounds.midX - 1,
                            y: view.bounds.midY - 1,
                            width: 2,
                            height: 2)

, но он почему-то указывает на верхнюю белую точку:

enter image description here

Как мне сделать так, чтобы он указывал на нужную точку?

1 Ответ

0 голосов
/ 03 июля 2018

sourceRect работал для меня, я просто использовал координаты y, чтобы расположить стрелку, и он работал для меня.

popover.sourceRect =  CGRect(x: 0, y: yourPosition, width: 0, height: 0)

Вы также можете взглянуть на это .

...