Как приложения могут отображать результат чтения NFC до тех пор, пока пользователь не решит его закрыть?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Как приложения могут отображать результат чтения NFC до тех пор, пока пользователь не решит его закрыть?

Сообщение Гость »


При чтении тегов NFC iOS отображает список действий в нижней части экрана. Вы можете использовать этот лист действий для отображения процесса чтения, а также для отображения результата.

Общая проблема заключается в том, что разработчик приложения и пользователь имеют все возможности контроля над этой таблицей действий, кроме настройки alertMessage. Вы не можете контролировать продолжительность его отображения или точно контролировать время его исчезновения. Я видел здесь похожий вопрос о сокрытии листа действий NFC. Я знаю, что не могу этого сделать. Так какая альтернатива?

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

Особая проблема заключается в том, что всплывающее диалоговое окно появляется за листом действий на целую секунду, и весь процесс выглядит бессвязным и неуклюжим.

Существует ли более удобный способ отобразить результат чтения, позволяющий пользователю продолжать видеть прочитанное значение и контролировать его, когда оно исчезает? Это важно для более длинных и сложных считываемых значений, чтение и интеллектуальная обработка которых разработчику приложения занимает некоторое время.

tag.readNDEF { сообщение, ошибка в если пусть сообщение = сообщение { let textMessage = self.parsePayloads(payloads: message.records) ?? "(никто)" session.alertMessage = "Поле прочитано: \(textMessage)" сеанс.инвалидате() DispatchQueue.main.async { let alertView = UIAlertController (заголовок: «Чтение поля», сообщение: textMessage, предпочтительный стиль: UIAlertController.Style.alert) alertView.addAction(UIAlertAction(заголовок: «ОК», стиль: .default)) self.viewController?.present(alertView, анимированный: true) }} }
Изображение

Изображение

Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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