paint-brush
How to Design Native Alerts in SwiftUI – #30DaysOfSwift Day 16by@vaibhavdwivedi

How to Design Native Alerts in SwiftUI – #30DaysOfSwift Day 16

by VaibhavOctober 27th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

SwiftUI’s native alerts are simple to implement, offering built-in system integration and accessibility. Use the .alert modifier to create alerts with customizable buttons like Confirm and Cancel, ensuring a cohesive user experience in your app.
featured image - How to Design Native Alerts in SwiftUI – #30DaysOfSwift Day 16
Vaibhav HackerNoon profile picture

#30DaysOfSwift—Day 16: Alerts – Designing Native Alerts in SwiftUI 🚨

Today, we’ll focus on using the native alert options available in SwiftUI.


SwiftUI provides a straightforward way to display alerts like this:

Image description

Why Use Native Alerts?

  • Simplicity: SwiftUI’s native alerts are easy to implement and require minimal code.
  • System Integration: They provide a familiar look and feel, ensuring consistency across iOS applications.
  • Accessibility: Native alerts come with built-in accessibility support, making your app more user-friendly.

Code Example: Creating a Native Alert

import SwiftUI

struct ContentView: View {
    @State private var showAlert = false // State variable to control alert visibility

    var body: some View {
        VStack {
            Button("Show Alert") {
                showAlert.toggle() // Toggle alert visibility
            }
            .alert(isPresented: $showAlert) { // Present the alert when showAlert is true
                Alert(
                    title: Text("Alert Title"), // Title of the alert
                    message: Text("This is an alert message."), // Message to display
                    primaryButton: .default(Text("Confirm")) {
                        // Action to perform on Confirm
                        print("Confirmed!")
                    },
                    secondaryButton: .cancel() // Action to perform on Cancel
                )
            }
        }
        .padding()
    }
}


Try implementing native alerts in your app to manage user interactions effectively! The full series is available on my profile and the components can also be found at shipios.app/components.


Happy Coding! 🎉