SwiftUI — всегда центрированный текст в HStackIOS

Программируем под IOS
Anonymous
SwiftUI — всегда центрированный текст в HStack

Сообщение Anonymous »

Я пытаюсь создать для своего приложения собственную панель навигации с ведущей кнопкой и заголовком. Заголовок всегда должен быть по центру и может быть многострочным. Самый простой способ сделать это — с помощью ZStack, но в этом случае текст выходит за верхнюю кнопку, что неправильно.
Есть ли какой-нибудь способ добиться этого? не запачкавшись 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

Вернуться в «IOS»