Листы и оповещения
Часть раздела Введение в SwiftUI путешествия по Swift на Coddy. Урок 37 из 50.
Лист выдвигает представление поверх текущего экрана. Он отображается, когда состояние типа Bool имеет значение true:
@State private var showHelp = false
Button("Help") { showHelp = true }
.sheet(isPresented: $showHelp) {
Text("Swipe down to close")
}Alert задаёт короткий вопрос. Он работает так же: с заголовком, кнопками и необязательным сообщением:
Button("Delete") { askDelete = true }
.alert("Delete photo?", isPresented: $askDelete) {
Button("Delete", role: .destructive) { deletePhoto() }
Button("Cancel", role: .cancel) { }
} message: {
Text("This cannot be undone.")
}Нажатие любой кнопки оповещения выполняет её действие и закрывает оповещение, возвращая состояние к значению false. Внутри листа @Environment(\.dismiss) var dismiss предоставляет действие dismiss(), которое закрывает его из кода.
Задание
СреднеКогда пользователь нажимает Save, покажите предупреждение с заголовком Saved!, сообщением Your note is stored. и одной кнопкой OK. Используйте состояние showSaved.
Попробуйте сами
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в SwiftUI
10Проект — Coddy Coffee
Обзор проектаЭкраны напитков2Отображение содержимого
Текстовые представленияЧисла в текстеШрифтыЦветаSF SymbolsПовторение — ценник5Состояние и кнопки
КнопкиСвойство @StateСостояние «истина или ложь»Условные представленияПовторение — счётчик очков8Навигация
NavigationStackNavigationLinkПередача данныхЛисты и оповещенияПовторение — справочник растений6Ввод данных пользователем
Текстовое полеПереключательСчётчик и ползунокВыборПовторение — форма заказаПотренируйтесь самостоятельно: Песочница Swift