.sheet немедленно закрывается при представлении в DisclosureGroup.IOS

Программируем под IOS
Ответить
Anonymous
 .sheet немедленно закрывается при представлении в DisclosureGroup.

Сообщение Anonymous »

У меня есть DisclosureGroup, которая при раскрытии имеет кнопку, представляющую .sheet. Однако при первом представлении .sheet он немедленно закрывается с ошибкой на консоли:

Попытка представления
на
(из
) во время презентации.

Вот код :

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

struct HomeView: View
{
var body: some View
{
List
{
CompositedTestDisclosureGroup()
}
}
}

struct CompositedTestDisclosureGroup: View
{
@State private var disclosureGroupIsExpanded = false
@State private var sheetIsPresented = false

var body: some View
{
TestDisclosureGroup(disclosureGroupIsExpanded: self.$disclosureGroupIsExpanded)
{
self.sheetIsPresented = true
}
.sheet(isPresented: self.$sheetIsPresented)
{
Text("Test")
}
}
}

struct TestDisclosureGroup: View
{
@Binding var disclosureGroupIsExpanded: Bool
var presentSheet: () -> Void

var body: some View
{
DisclosureGroup("Disclosure Group", isExpanded: self.$disclosureGroupIsExpanded)
{
Button("Push Me")
{
presentSheet()
}
.buttonStyle(.borderedProminent)
}
}
}
Я знаю, удалю ли я внешний список в HomeView, удалю DisclosureGroup и оставлю только кнопку или .sheet< /code> представлен в HomeView, он будет работать, но я хотел бы попытаться сохранить дизайн таким, какой он есть.
Любое понимание того, почему это происходит, имеет большое значение. оценил, спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... osuregroup
Ответить

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

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

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

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

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