Open Settings Button
One-tap navigation trigger that opens the app’s system settings directly in iOS Settings.
SwiftUI Implementation
Pure Vanilla Swift • No DependenciesopenSettingsButton.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 StoreRelated SwiftUI Components
More components in Buttons and related app architectures.
ButtonsiOS 16.0+
Primary Button Basic
High-emphasis prominent action button with standard SwiftUI prominence styling and haptic feedback.
View Component & Code
ButtonsiOS 16.0+
CTA Button Large Basic
Full-width, high-impact call-to-action button designed for onboarding screens, welcome flows, and paywalls.
View Component & Code
ButtonsiOS 16.0+
Secondary Button Basic
Medium-emphasis secondary action button styled for alternative user workflows and dismissal actions.
View Component & Code