UIReferenceLibraryViewController мгновенно закрывается в SwiftUIIOS

Программируем под IOS
Ответить
Anonymous
 UIReferenceLibraryViewController мгновенно закрывается в SwiftUI

Сообщение Anonymous »

В моем приложении есть текстовое поле и кнопка для отображения определения вставленного слова, предоставленного системными словарями. Проблема в том, что иногда, когда появляется лист, содержащий представление UIReferenceLibraryViewController, он тут же исчезает: лист открывается полностью, а затем сразу же начинает исчезать. Меня беспокоит то, что такое поведение происходит лишь в некоторых случаях, и мне хотелось бы знать, знаете ли вы, почему.
Пример
Вот созданный мною минимальный воспроизводимый пример, демонстрирующий ту же проблему.
ContentView

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

import SwiftUI

struct ContentView: View {
@State private var term = ""

var body: some View {
VStack {
TextField("Enter a term", text: $term)
.padding()

ShowDictionaryButton(term: term)
}
}
}
ShowDictionaryButton

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

import SwiftUI

struct ShowDictionaryButton: View {
let term: String
@State private var showingDictionary = false

var body: some View {
Button("Show dictionary") {
showingDictionary = true
}
.sheet(isPresented: $showingDictionary) {
DictionaryView(term: term)
.ignoresSafeArea()
}
}
}
DictionaryView

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

import SwiftUI

struct DictionaryView: UIViewControllerRepresentable {
let term: String

typealias UIViewControllerType = UIReferenceLibraryViewController

func makeUIViewController(context: Context) -> UIReferenceLibraryViewController {
print("Making the DictionaryView")
return UIReferenceLibraryViewController(term: term)
}

func updateUIViewController(_ uiViewController: UIReferenceLibraryViewController, context: Context) {
print("Updating the DictionaryView")
}
}
Как воспроизвести ошибку
Введите слово в текстовое поле и нажмите кнопку. Вы заметите, что иногда лист немедленно закрывается. Если этого не произошло, закройте лист вручную, затем попробуйте нажать кнопку несколько раз или измените слово и повторите попытку. Я так и не понял, когда это произойдет, кажется, это совершенно случайно. Чаще происходит при первой попытке, по крайней мере, на моем устройстве.


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

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

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

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

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

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