Тот же уголрадиус виден под видом - PullRequest
0 голосов
/ 14 октября 2019

Если я добавлю UIViews с одинаковыми cornerRadius друг на друга, я смогу увидеть нижний (красный) вид рядом с углами верхнего (желтого) вида. Можно ли это исправить?

let rectFrame = CGRect(x:50, y:100, width: 150, height: 150)
let cornerRadius: CGFloat = 10.0

let redView = UIView(frame:rectFrame)
redView.backgroundColor = .red
redView.layer.cornerRadius = cornerRadius

let yellowView = UIView(frame: rectFrame)
yellowView.backgroundColor = .yellow
yellowView.layer.cornerRadius = cornerRadius

view.addSubview(redView)
view.addSubview(yellowView)

enter image description here

Угол (увеличенный):

enter image description here

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Это результат сглаживания . Оба вида имеют несколько полупрозрачных пикселей, составляющих кривую. Кривая выглядит гладкой, хотя это не так (потому что пиксели квадратные).

Вы можете отключить сглаживание для рисования слоев, но я бы посоветовал против этого. Было бы проще сделать вид сзади невидимым.

0 голосов
/ 14 октября 2019

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

...