Я работаю над проектом Swiftui, где я использую модификатор .sheet для представления нижнего ящика с двумя размерными размерами: .medium и .large . Ящик содержит кнопку, которая переключает его размер между этими двумя состояниями. Эта часть работает так, как и ожидалось. Тем не менее, я сталкиваюсь с проблемой анимации, когда я устанавливаю цвет фона без декорации на лист. < /P>
Вот упрощенный код для контекста: < /p>
Код: Выделить всё
struct ContentView: View {
@State private var selectedDetent: PresentationDetent = .medium
var body: some View {
VStack {}
.sheet(isPresented: .constant(true)) {
Button("Press Me") {
selectedDetent = selectedDetent == .medium ? .large : .medium
}
.presentationBackground(.gray)
.presentationDetents([.medium, .large], selection: $selectedDetent)
}
}
}
Проблема возникает, когда я пытаюсь установить цвет фона с использованием .presentationbackground (.gray) (или любой цвет, даже белый). Вместо ожидаемого поведения при нажатии кнопки (где закрывается верхняя часть листа, а нижняя часть остается прикрепленной к дне экрана), лист на мгновение превращается в квадрат в середине экрана, прежде чем перейти к введению изображения .Medium . />
, как только я удаляю строку .presentationbackground (.gray) , она работает, как и ожидалось:
Подробнее здесь:
https://stackoverflow.com/questions/776 ... und-colors