SwiftUI Угловой радиус дочернего вида изменяется, когда суперпредставление также получает угловой радиус - PullRequest
1 голос
/ 20 января 2020

У меня проблема с установкой правильного радиуса угла для вида. Допустим, у меня есть такой вид:

HStack {
    Text("Hello").padding().background(Color.red).cornerRadius(.infinity)
}

, который выглядит так: correct result

Как видите, углы идеально круглые, что желаемый эффект . Проблема в том, что, когда я добавляю угловой радиус к суперпредставлению, в этом случае HStack, угловой радиус моего дочернего вида начинает превышать границы, которые делают угол идеально круглым:

HStack {     
    Text("Hello").padding().background(Color.red).cornerRadius(.infinity)
}.cornerRadius(16)

wrong result

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

1 Ответ

0 голосов
/ 20 января 2020

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

Рабочий пример здесь:

HStack {
    Text("Hello")
    .padding()
    .background(Color.red)
    .cornerRadius(.infinity)
    .compositingGroup()
}.cornerRadius(16)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...