У меня трудно работать с панелями инструментов родителей-ребенка и Safeareainsets. Он должен уважать любой .toolbar в навигации и быть размещенным выше или ниже .toolbar . Причиной наличия панели вне навигационного стека является то, что я хочу, чтобы она была исправлена на месте и не перемещалась с навигационными переходами (скольжение в/Out и обратно с изменениями маршрута).
То, что я пробовал:
[*] Прочитал высот hister of the red bar and as. NavigationStack . Похоже, .toolbar не уважает .safeareApadding .
Регулирование порядка .safeareainset модификаторов.
Код: Выделить всё
NavigationStack {
Color.gray
.ignoresSafeArea()
.toolbar {
ToolbarItem(placement: .bottomBar) {
Button(role: .cancel) {
//
}
}
}
.safeAreaInset(edge: .bottom) {
Color.green.opacity(0.5)
.frame(height: 50)
}
}
.safeAreaInset(edge: .bottom) {
Color.red.opacity(0.5)
.frame(height: 50)
}
Примечание: Зеленая полоса включена, чтобы продемонстрировать, что .safeareainset работает правильно при применении в навигационном потоке - он правильно позиционирует себя над панелью инструментов. Тем не менее, красная полоса (применяемая вне навигационного магазина ) не уважает пространство внутренней панели инструментов, которая является основной проблемой, которую я пытаюсь решить. /> Красная полоса должна сидеть выше (или внизу с изменением панели инструментов) кнопка отмены панели инструментов. < /P>
Подробнее здесь:
https://stackoverflow.com/questions/797 ... f-children