Кнопка SwiftUI ToolbarItem не расширяется до полной ширины, несмотря на maxWidth: .infinity (iOS 26)IOS

Программируем под IOS
Ответить
Anonymous
 Кнопка SwiftUI ToolbarItem не расширяется до полной ширины, несмотря на maxWidth: .infinity (iOS 26)

Сообщение Anonymous »

Я пытаюсь создать кнопку на панели инструментов, которая расширяется, чтобы заполнить доступную ширину нижней панели инструментов, но кнопка остается в размере по умолчанию, несмотря на использование .frame(maxWidth: .infinity).

Код: Выделить всё

.toolbar {
ToolbarItem(placement: .bottomBar) {
Button {
print("Hello")
} label: {
Label("Person", systemImage: "person")
.frame(maxWidth: .infinity)
}
.buttonStyle(.glassProminent)
}
}
Кнопка должна расшириться, чтобы заполнить доступную ширину нижней панели инструментов, но кнопка остается с размером по умолчанию, игнорируя модификатор кадра maxWidth: .infinity.
Что я пробовал
Я пытался использовать HStack с разделителями вокруг метки:

Код: Выделить всё

HStack {
Spacer()
Label("Person", systemImage: "person")
Spacer()
}
Этот подход работал визуально (кнопка выглядела на всю ширину), но создавал новую проблему: касаться можно было только области текста/значка, а не всей области кнопки, включая разделители.
Вопрос
Как создать кнопку на панели инструментов, которая:
  • Расширяется, чтобы заполнить доступную ширину
  • Сохраняет полную ширину коснитесь цели по всей области кнопки
Среда
  • Цель iOS 26+
  • SwiftUI
  • Использование стиля кнопки .glassProminent


Подробнее здесь: https://stackoverflow.com/questions/797 ... dth-infini
Ответить

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

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

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

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

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