Почему всплывающее меню на панели инструментов не запускает полноэкранное покрытие на iOS26?IOS

Программируем под IOS
Ответить
Anonymous
 Почему всплывающее меню на панели инструментов не запускает полноэкранное покрытие на iOS26?

Сообщение Anonymous »

На одном из экранов моего приложения, когда пользователь нажимает кнопку на панели инструментов, отображается всплывающее окно со списком ссылок на файлы. При нажатии на ссылку должна появиться полноэкранная крышка, отображающая содержимое файла. Однако в iOS26 ничего не происходит, и в окне отладки я получаю следующее:

Попытка представить
на
(из
), который уже представлен
.

Вот MRE, воспроизводящий проблему:

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

import SwiftUI

struct ContentView: View
{
@State private var popoverIsPresented: Bool = false
@State private var fullScreenCoverIsPresented: Bool = false

var body: some View
{
NavigationStack
{
VStack
{
Text("FullScreenPopoverTest")
}
.toolbar
{
ToolbarItem(placement: .navigationBarTrailing)
{
VStack
{
Button("Popover")
{
self.popoverIsPresented = true
}
}
.popover(isPresented: self.$popoverIsPresented)
{
Button("Fullscreen")
{
self.fullScreenCoverIsPresented = true

//this is the only workaround that works
/*self.popoverIsPresented = false
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1)
{
self.fullScreenCoverIsPresented = true
}*/
}
}
}
}
.fullScreenCover(isPresented: self.$fullScreenCoverIsPresented)
{
Button("Dismiss")
{
self.fullScreenCoverIsPresented = false
}
}
}
}
}
Обычно на iOS18 это работает нормально. Единственный обходной путь, который я могу найти, это сделать:

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

DispatchQueue.main.asyncAfter(deadline: .now() + 0.1)
{
self.interiorDocumentToPresent = document
}
Это ошибка iOS26? Кто-нибудь знает лучшее решение?

Подробнее здесь: https://stackoverflow.com/questions/797 ... r-on-ios26
Ответить

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

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

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

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

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