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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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