Autumn Sale50% offCOMPOT
ButtonsFree ComponentiOS 16.0+Xcode 15+

Open Settings Button

One-tap navigation trigger that opens the app’s system settings directly in iOS Settings.

SwiftUI Implementation

Pure Vanilla Swift • No Dependencies
openSettingsButton.swift
import SwiftUI

struct UseOpenSettingsButton: View {
    
    var body: some View {
        List {
            OpenSettingsButton(labelText: "Device Settings", labelIconSymbol: "gear", labelIconBgColor: .gray, trailingSymbol: "arrow.up.right.square", trailingSymbolColor: .secondary)
        }
    }
}

#Preview {
    UseOpenSettingsButton()
}

struct OpenSettingsButton: View {
    
    var labelText: String
    var labelIconSymbol: String
    var labelIconBgColor: Color
    var trailingSymbol: String
    var trailingSymbolColor: Color
    
    private func openSettings() {
        guard let settingsURL = URL(string: UIApplication.openSettingsURLString) else { return }
        UIApplication.shared.open(settingsURL)
    }
    
    var body: some View {
        Button {
            openSettings()
        } label: {
            HStack {
                Label {
                    Text(labelText)
                } icon: {
                    Image(systemName: labelIconSymbol)
                        .font(.system(size: 15))
                        .foregroundStyle(.white)
                        .frame(width: 28, height: 28, alignment: .center)
                        .background(labelIconBgColor, in: RoundedRectangle(cornerRadius: 7, style: .continuous))
                }
                Spacer()
                Image(systemName: trailingSymbol)
                    .foregroundStyle(trailingSymbolColor)
            }
            .contentShape(Rectangle())
        }
        .buttonStyle(.plain)
    }
}

Ready to copy and paste directly into any Xcode project running iOS 16.0+.

Recommended Use Cases

  • App settings, preferences, and account configuration screens

Component Details

Category
Buttons
iOS Compatibility
iOS 16.0+
Xcode Version
Xcode 15+
Platform
iOS
License Tier
Free
Themes & Contexts
settings
Keywords
buttonsettingsnavigation
C

Compot for iOS

Native SwiftUI playground app

Preview all 130+ components interactively on your device and copy code straight to Xcode with 1 tap.

Get Compot on the App Store