0Pricing
SwiftUI Academy · Урок

Диалоги подтверждения

Предлагайте потенциально опасные действия с помощью confirmationDialog.

«Диалоги подтверждения» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What Is a Confirmation Dialog?

A confirmation dialog is an action sheet that slides up with a list of choices, perfect for offering several options at once. 🗂️

Dialog vs Alert

An alert centers on screen for one key decision. A dialog rises from the bottom and suits a menu of related actions instead.

Triggered by a Boolean

Like sheets and alerts, a dialog opens when a boolean state turns true. Store the flag and flip it from a button tap.

@State private var showDialog = false

The confirmationDialog Modifier

Attach confirmationDialog to a view with a title and a boolean binding. SwiftUI presents the choices when the flag is true.

.confirmationDialog("Choose", isPresented: $showDialog) {
    Button("Photo Library") { }
}

Listing Choices as Buttons

Each option is a button inside the dialog. SwiftUI stacks them and runs the action of whichever one the user taps.

Button("Camera") { }
Button("Photo Library") { }

A Destructive Option

Use the .destructive role for risky choices like delete. The button turns red so users notice before committing.

Button("Delete Account", role: .destructive) { }

The Cancel Button

SwiftUI adds a Cancel button automatically. You can also supply your own with role .cancel to control its wording.

Button("Not now", role: .cancel) { }

Adding a Title Message

Pass a message closure to explain the choice. It shows as a short caption above the buttons to guide the decision.

.confirmationDialog("Remove item?", isPresented: $show) {
    Button("Remove", role: .destructive) { }
} message: {
    Text("You can add it again later.")
}

Reacting to a Choice

Each button's action runs on tap, then the dialog closes. Put the matching logic, like pick or delete, inside that closure.

Button("Save") { saveDocument() }

Dialogs Adapt by Device

On iPhone a dialog rises as an action sheet. On iPad and Mac it appears as a popover near the control that opened it.

When to Use a Dialog

Reach for a dialog when a single tap could mean several things, like sharing or choosing an image source. It keeps options tidy.

Quick Check

When is a confirmation dialog the better choice over an alert?

Recap: Dialogs

You can now present a confirmation dialog from a boolean, list action buttons, and mark destructive choices in red. You finished the course! 🎉

Часто задаваемые вопросы

Урок «Диалоги подтверждения» бесплатный?

Да — полный текст урока «Диалоги подтверждения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «Диалоги подтверждения»?

Предлагайте потенциально опасные действия с помощью confirmationDialog. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать SwiftUI Academy?

Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Диалоги подтверждения»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке SwiftUI Academy?

Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Представление листа
  2. Детенты и индикаторы перетаскивания
  3. Окна предупреждений с действиями
  4. Диалоги подтверждения
← Назад к SwiftUI Academy