Есть ли какой-нибудь способ добиться этого? не запачкавшись GeometryReaders и фреймами? Заранее спасибо.
Вот пример кода. Во-первых, ZStack — это то, чего я пытаюсь избежать. Второй ZStack — это то, чего я пытаюсь достичь, но без использования модификатора .frame.
Код: Выделить всё
struct TextView: View {
var body: some View {
VStack {
ZStack(alignment: .center) {
HStack {
Rectangle().fill(.red).frame(width: 20, height: 30)
Spacer()
}
Text("Text always centered and not over rectangle")
}
ZStack(alignment: .center) {
HStack {
Rectangle().fill(.red).frame(width: 20, height: 30)
Spacer()
}
Text("Text always centered and not over rectangle").frame(maxWidth: 320)
}
}
.border(Color.black, width: 2)
.padding()
.multilineTextAlignment(.center)
}
}

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-hstack
Мобильная версия