VNDocumentCameraViewController повреждает всплывающую систему Compose на iOSIOS

Программируем под IOS
Ответить
Anonymous
 VNDocumentCameraViewController повреждает всплывающую систему Compose на iOS

Сообщение Anonymous »

После использования VNDocumentCameraViewController в Compose Multiplatform iOS все всплывающие компоненты (AlertDialog, DatePickerDialog, ExpedDropdownMenuBox) перестают работать.
  • Откройте AlertDialog — работает нормально
  • Откройте VNDocumentCameraViewController сканер
  • Закрыть сканер
  • Попробуйте снова открыть AlertDialog — не отображается
Это мой код:

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

@Composable
actual fun rememberDocumentScanner(
onResult: (Result[*]>) -> Unit,
options: DocumentScannerOptions
): DocumentScanner {
val localViewController = LocalUIViewController.current

return object : DocumentScanner {
override fun scan() {
val controller = VNDocumentCameraViewController()

controller.setDelegate(
DocumentScannerDelegate(
onError = {
controller.dismissViewControllerAnimated(true) {
restoreComposeWindow(localViewController)
}
// error handling
},
onCancel = {
controller.dismissViewControllerAnimated(true) {
restoreComposeWindow(localViewController)
}
},
onResult = { result ->
controller.dismissViewControllerAnimated(true) {
restoreComposeWindow(localViewController)
}
// result handling
}
)
)

localViewController.presentViewController(controller, animated = true) {
// scanner configuration
}
}
}
}

fun restoreComposeWindow(localViewController: UIViewController?) {
val view = localViewController?.view ?: return
view.setNeedsLayout()
view.layoutIfNeeded()
view.setNeedsDisplay()
}
  • ОК. Сканер открывается и работает отлично.
  • ОК. Обычные компоненты пользовательского интерфейса (TextField, Button, Navigation) работают нормально.
  • FAIL AlertDialog — не отображается после сканера.
  • FAIL DatePickerDialog — не отображается после сканера.
  • FAIL ExpedDropdownMenuBox – не отображается после сканирования
  • FAIL Все компоненты всплывающих окон не работают


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

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

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

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

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

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