Как правильно отображать экран входа в систему поверх предыдущих представлений в приложении для iPhoneIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Как правильно отображать экран входа в систему поверх предыдущих представлений в приложении для iPhone

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


Я новичок в SwiftUI, поэтому буду признателен за вашу помощь. У меня есть приложение, данные которого являются конфиденциальными и требуют экрана входа в систему. Я хочу, чтобы экран входа в систему отображался каждый раз, когда приложение переходит в фоновый режим, но мне нужно, чтобы приложение сохраняло состояние (т. е. если пользователь находился в процессе создания нового элемента и переходил к другому приложению, я хочу, чтобы все данные, которые он ввел, должны быть сохранены, я могу смириться с потерей данных, если приложение будет закрыто, но я хочу разрешить мгновенное переключение между приложениями, чтобы пользователь мог копировать и вставлять данные между приложениями).

Я искал решение в Google, и люди реализуют экран входа в систему с обычным видом и показывают его на основе определенной переменной состояния, но я считаю, что этот подход не работает, потому что:
[*]Либо состояние не сохраняется, когда пользователь переключается на другое приложение. [*]Или, если используется модификатор .fullScreenCover, состояние сохраняется, но не работает должным образом, если вы представляете представления с модификатором листа (по сути, экран входа отображается позади листа, который все еще отображается пользователю, когда он возвращает приложение на передний план).
Я прочитал в сообщении (хотя оно не показывает ни одного примера кода), что нужно создать другую сцену с экраном входа в систему и переключаться между сценами, но я не могу реализовать это с помощью SwiftUI.

До сих пор я пытался реализовать это, имея в своем приложении две WindowGroup: одну с содержимым приложения, а другую с экраном входа в систему. Например:

@main структура MyApp: Приложение { var body: некоторая сцена { WindowGroup("MainScene") { МейнВью() } WindowGroup("LoginScene") { Логинскринвиев() } } } Но я не могу найти, как переключаться между сценами.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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