Использование .presentationBackground(_: Style), но фон листа по умолчанию все еще виден.IOS

Программируем под IOS
Anonymous
Использование .presentationBackground(_: Style), но фон листа по умолчанию все еще виден.

Сообщение Anonymous »

Я хотел опробовать новый модификатор .presentationBackground из iOS 16.4+ для четкого фона на листе. Подобные сообщения о переполнении стека предполагают, что это возможно.
Но кажется, что презентационный фон просто наложен на фон листа по умолчанию.
С помощью этого кода:

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

import SwiftUI

struct ImmersionModeScreen: View {

@State var presentSheet: Bool = false

var body: some View {
VStack(alignment: .center, spacing: 15) {
Button {
presentSheet = true
} label: {
Text("Present")
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(.red)
.sheet(isPresented: $presentSheet) {
Text("Detail")
.presentationBackground(.clear)
}

}
}

#Preview {
ImmersionModeScreen()
}
Я получил такой результат:
Изображение

Фон листа нечеткий, как мы говорим.
И когда я использую форму для .presentationBackground:

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

                .presentationBackground {
UnevenRoundedRectangle(
cornerRadii: RectangleCornerRadii(topLeading: 100, topTrailing: 100),
style: .continuous
)
.fill(.orange)
}
И снова он не работает должным образом — вы по-прежнему можете видеть фон по умолчанию.
Изображение

Что я делаю не так?
Мой проект работает на iOS 18.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... is-still-v

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