Compose SwiftUIv0.4.0
esc
GuideAPIGitHub
View

Toggle

A control that switches between on and off.

iOS 17.0+macOS 14.0+tvOS 17.0+watchOS 10.0+
fun Toggle(title: String, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)

Overview

Compose SwiftUI replaces the Swift binding with a value and a callback: pass the current state in isOn and update it in onIsOnChange.

var wifi by remember { mutableStateOf(true) }
Toggle("Wi-Fi", isOn = wifi, onIsOnChange = { wifi = it })

This is the Kotlin form of SwiftUI Toggle.init(_:isOn:): SwiftUI documentation. In Swift it reads:

nonisolated init<S>(_ title: S, isOn: Binding<Bool>) where S : StringProtocol

Topics

Creating a Toggle

fun Toggle(isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit, content: @Composable () -> Unit)
SwiftUI Toggle.init(isOn:label:)
fun Toggle(title: String, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:isOn:)
fun Toggle(title: String, systemImage: SFSymbol, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:systemImage:isOn:)
fun Toggle(titleResource: LocalizedKey, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:isOn:)
fun Toggle(titleResource: LocalizedKey, systemImage: SFSymbol, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:systemImage:isOn:)
fun Toggle(titleKey: LocalizedKey? = null, isOn: Boolean? = null, systemImage: SFSymbol? = null, modifier: Modifier = Modifier, onIsOnChange: ((Boolean) -> Unit)? = null)
SwiftUI Toggle · (e.g. Image(systemName = SFSymbol.star)).

Methods

fun ToggleIsOn(titleKey: LocalizedKey, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:isOn:)
fun ToggleSystemImage(titleKey: LocalizedKey, systemImage: SFSymbol, isOn: Boolean, modifier: Modifier = Modifier, onIsOnChange: (Boolean) -> Unit)
SwiftUI Toggle.init(_:systemImage:isOn:)