SwiftUI: оповещение, которое не закрывается при нажатии кнопки

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

Мой код выглядит следующим образом:

      .alert("title", isPresented: $presented) {
    Button(action: {
        NSWorkspace.shared.open(URL(string: "https://myurl")!)
    }) {
        Text("Download ...")
    }
} message: {
    Text("message")
}

Но когда я нажимаю кнопкуполучает значение false. Могу ли я как-то предотвратить это? Или перехватить, когда для него установлено значение false, чтобы я мог проверить, должно ли оно оставаться истинным, и изменить его снова?

1 ответ

Мне кажется, это противоречит концепции оповещений. Как сказано в документации :

Все действия в оповещении отклоняют оповещение после выполнения действия.

Мое решение использует.sheet()Вместо этого просмотрите модификатор . Однако стилизация его так же, как выглядит предупреждение, требует некоторого времени.

Другие вопросы по тегам