TabView в SwiftUI, который не меняет вид - PullRequest
0 голосов
/ 05 августа 2020

Можно ли включить TabView в SwiftUI, который не меняет представления? Мне нужна нижняя строка меню с 4 элементами, но не все эти элементы нужно перемещать в новое представление. Могу ли я изменить ожидаемое поведение TabView и использовать кнопки, которые он предоставляет, или мне нужно просто создать свое собственное?

1 Ответ

0 голосов
/ 06 августа 2020

Если вы используете новейшую бета-версию (2020), вы можете использовать toolbar.

На iOS вы можете установить размещение ToolbarItem в качестве нижней панели, и сделать похожим на нижнюю панель вкладок. Вернувшись в UIKit, вы, вероятно, также использовали бы toolbar, поскольку TabBar связаны с навигацией.

В любом случае, вот пример:

HStack {
    ForEach(1..<5) { number in
      Text("\(number)")
    }
}
.toolbar(items: {
    ToolbarItem(placement: .bottomBar) {
      Button("Test", action: {})
    }
})

Добавьте toolbar модификатор для вашего представления, затем добавьте элементы с любым содержимым, которое вы хотите. Поскольку ToolbarItem использует построитель представлений, вы можете дать ему любое представление.

Если вы хотите, чтобы несколько кнопок красиво разложились, замените Button внутри ToolbarItem на HStack и сделайте несколько кнопки / разделители / все, что вам нужно, чтобы получить нужный макет.

Примечание: размещение .bottomBar может быть доступно не на всех платформах

...