Как добавить цвет границы на поповер и его стрелку в Swift? - PullRequest
0 голосов
/ 01 ноября 2018

У меня в приложении есть следующее всплывающее окно:

enter image description here

Но я хочу, чтобы оно выглядело как это отредактированное изображение (обратите внимание, что даже стрелка имеет границу):

enter image description here

Возможно ли это в наше время? Я уже попробовал следующее внутри UIViewController:

self.view.layer.borderColor = UIColor.white.cgColor
self.view.layer.borderWidth = 2

Но это не работает для стрелы. Есть ли поворот на этот счет?

1 Ответ

0 голосов
/ 01 ноября 2018

Пробовали ли вы вместо этого установить штрих в UIBezierPath? Вы можете сделать это с помощью следующих строк кода перед закрытием UIBezierPath:

Color.purple.setStroke()
bezierPath.stroke()

Вот результат, которого мне удалось достичь на игровой площадке:

enter image description here

Однако я понял, что не могу изменить его ширину, поэтому вместо этого я создал другой слой только для границы.

let borderLayer = CAShapeLayer()
borderLayer.frame = self.bounds
borderLayer.path = bezierPath.cgPath
borderLayer.lineWidth = 6.0
borderLayer.strokeColor = UIColor.black.cgColor
borderLayer.fillColor = UIColor.clear.cgColor
self.layer.insertSublayer(borderLayer, at: 0)

Результат игровой площадки:

enter image description here

Я думаю, что это должно помочь, но я не могу много предложить без кода о том, как достигается форма. Вы используете UIBezierPath или CGContext?

...