---
title: UISwitch
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiswitch
---

# UISwitch

A control that offers a binary choice, such as on/off.

## Declaration

```swift
@MainActor class UISwitch
```

## Mentioned in

Attaching gesture recognizers to UIKit controls Choosing a user interface idiom for your Mac app Displaying a checkbox in your Mac app built with Mac Catalyst

## Overview

Overview The UISwitch class declares a property and a method to control its on/off state. When a person manipulates the switch control (“flips” it), it triggers the valueChanged event. You can customize the appearance of the switch by changing the color used to tint the switch when it’s on or off. For information about basic view behaviors, see View Programming Guide for iOS.

## Topics

### Creating a switch

- [init(frame:)](uikit/uiswitch/init(frame:).md)
- [init(coder:)](uikit/uiswitch/init(coder:).md)

### Setting the on/off state

- [isOn](uikit/uiswitch/ison.md)
- [setOn(_:animated:)](uikit/uiswitch/seton(_:animated:).md)

### Setting the display style

- [Displaying a checkbox in your Mac app built with Mac Catalyst](uikit/displaying-a-checkbox-in-your-mac-app-built-with-mac-catalyst.md)
- [preferredStyle](uikit/uiswitch/preferredstyle.md)
- [style](uikit/uiswitch/style-swift.property.md)
- [UISwitch.Style](uikit/uiswitch/style-swift.enum.md)
- [title](uikit/uiswitch/title.md)

### Customizing the appearance of the switch

- [onTintColor](uikit/uiswitch/ontintcolor.md)
- [thumbTintColor](uikit/uiswitch/thumbtintcolor.md)

### Deprecated

- [onImage](uikit/uiswitch/onimage.md)
- [offImage](uikit/uiswitch/offimage.md)

## Relationships

### Inherits From

- [UIControl](uikit/uicontrol.md)

### Conforms To

- [CALayerDelegate](quartzcore/calayerdelegate.md)
- [CLBodyIdentifiable](corelocation/clbodyidentifiable.md)
- [CMBodyIdentifiable](coremotion/cmbodyidentifiable.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIAccessibilityIdentification](uikit/uiaccessibilityidentification.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearance](uikit/uiappearance.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContextMenuInteractionDelegate](uikit/uicontextmenuinteractiondelegate.md)
- [UICoordinateSpace](uikit/uicoordinatespace.md)
- [UIDynamicItem](uikit/uidynamicitem.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIFocusItem](uikit/uifocusitem.md)
- [UIFocusItemContainer](uikit/uifocusitemcontainer.md)
- [UILargeContentViewerItem](uikit/uilargecontentvieweritem.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIPopoverPresentationControllerSourceItem](uikit/uipopoverpresentationcontrollersourceitem.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Controls

- [Responding to control-based events using target-action](uikit/responding-to-control-based-events-using-target-action.md)
- [UIControl](uikit/uicontrol.md)
- [UIButton](uikit/uibutton.md)
- [UIColorWell](uikit/uicolorwell.md)
- [UIDatePicker](uikit/uidatepicker.md)
- [UIPageControl](uikit/uipagecontrol.md)
- [UISegmentedControl](uikit/uisegmentedcontrol.md)
- [UISlider](uikit/uislider.md)
- [UIStepper](uikit/uistepper.md)
