Использование .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
Ответить

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

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

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

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

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