Как я могу использовать форму кольца в SwiftUI - PullRequest
0 голосов
/ 08 июля 2020

У меня есть фигура с углом в 10 градусов. Я хочу добавить текст поверх фигуры. Я пробовал использовать ZStack, Overlay и форму в качестве фона, но это не сработало. Ниже приведены примеры кода, который я пробовал:

//Background
Text("2")
    .background(Circle()
        .trim(from: 0.0, to: CGFloat(0.02702703))
        .stroke(Color.red, lineWidth: 35)
        .frame(width: 330, height: 330)
        .rotationEffect(Angle(degrees: -90)))

//ZStack
ZStack{
    Circle()
        .trim(from: 0.0, to: CGFloat(0.02702703))
        .stroke(Color.red, lineWidth: 35)
        .frame(width: 330, height: 330)
        .rotationEffect(Angle(degrees: -90))
    Text("2")
}

//Overlay
Circle()
    .trim(from: 0.0, to: CGFloat(0.02702703))
    .stroke(Color.red, lineWidth: 35)
    .overlay(Text("2"))
    .frame(width: 330, height: 330)
    .rotationEffect(Angle(degrees: -90))

1 Ответ

0 голосов
/ 08 июля 2020

Если я вас понял, ваша проблема в том, что Text вращается на месте.

Дело в том, что вам нужно изменить его размер как circle, чтобы он вращался как circle .

ZStack{
    Circle()
        .trim(from: 0.0, to: CGFloat(0.02702703))
        .stroke(Color.red, lineWidth: 35)
        .frame(width: 330, height: 330)
    Text("2")
        .frame(width: 330 + 35,
               height: 300 + 35,
               alignment: .trailing)
}
.rotationEffect(Angle(degrees: -90))

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

...