---
title: Storyboard support
framework: WatchKit
role: collectionGroup
role_heading: API Collection
platforms: []
path: watchkit/storyboard_support
---

# Storyboard support

Connect your code to storyboard elements using interface controllers, interface objects, and event handlers.

## Overview

The WatchKit framework includes classes to control user interface elements that you lay out in your storyboard. Storyboard-based layouts typically require an interface controller for each scene. Each controller can manage one or more controls and subviews, such as tables, buttons, sliders, and other visual elements. Use the classes in this collection to configure your visual elements at runtime, and to respond to user interactions.

> **note:** When you build the user interface for your watchOS app, you can design the interface in a storyboard and use WatchKit classes to connect to the interface elements, or you can use SwiftUI to declare the interface in code. Because apps built with SwiftUI have more freedom, power, and control over the user interface than apps designed in a storyboard, strongly consider using SwiftUI when creating your watchOS app. For more information, see `Building a watchOS App`.

## Topics

### User interface basics

- [Building watchOS app Interfaces Using the Storyboard](building-watchos-app-interfaces-using-the-storyboard.md)
- [WKInterfaceObject](wkinterfaceobject.md)
- [WKInterfaceController](wkinterfacecontroller.md)
- [WKAlertAction](wkalertaction.md)
- [WKAccessibilityImageRegion](wkaccessibilityimageregion.md)
- [WKAccessibilityIsVoiceOverRunning()](wkaccessibilityisvoiceoverrunning().md)
- [WKAccessibilityIsReduceMotionEnabled()](wkaccessibilityisreducemotionenabled().md)

### Controls

- [WKInterfaceLabel](wkinterfacelabel.md)
- [WKInterfaceDate](wkinterfacedate.md)
- [WKInterfaceTimer](wkinterfacetimer.md)
- [WKInterfaceButton](wkinterfacebutton.md)
- [WKInterfaceAuthorizationAppleIDButton](wkinterfaceauthorizationappleidbutton.md)
- [WKInterfacePaymentButton](wkinterfacepaymentbutton.md)
- [WKInterfaceTextField](wkinterfacetextfield.md)
- [WKInterfaceSwitch](wkinterfaceswitch.md)
- [WKInterfaceSlider](wkinterfaceslider.md)
- [WKInterfaceActivityRing](wkinterfaceactivityring.md)
- [WKInterfaceMap](wkinterfacemap.md)

### Containers

- [WKInterfaceGroup](wkinterfacegroup.md)
- [WKInterfaceSeparator](wkinterfaceseparator.md)
- [WKInterfaceTable](wkinterfacetable.md)
- [WKInterfacePicker](wkinterfacepicker.md)

### Audio

- [Playing Background Audio](playing-background-audio.md)
- [Adding a Now Playing View](adding-a-now-playing-view.md)
- [WKInterfaceVolumeControl](wkinterfacevolumecontrol.md)
- [PUICAutoLaunchAudioOptOut](../bundleresources/information-property-list/puicautolaunchaudiooptout.md)
- [WKAudioFilePlayer](wkaudiofileplayer.md)
- [WKAudioFileQueuePlayer](wkaudiofilequeueplayer.md)
- [WKAudioFilePlayerItem](wkaudiofileplayeritem.md)
- [WKAudioFileAsset](wkaudiofileasset.md)

### Images and movies

- [WKInterfaceImage](wkinterfaceimage.md)
- [WKImage](wkimage.md)
- [WKImageAnimatable](wkimageanimatable.md)
- [WKInterfaceMovie](wkinterfacemovie.md)
- [WKInterfaceInlineMovie](wkinterfaceinlinemovie.md)
- [WKInterfaceHMCamera](wkinterfacehmcamera.md)
- [WKVideoGravity](wkvideogravity.md)

### Graphics and games

- [WKInterfaceSKScene](wkinterfaceskscene.md)
- [WKInterfaceSCNScene](wkinterfacescnscene.md)

### Event handling

- [WKCrownSequencer](wkcrownsequencer.md)
- [WKCrownDelegate](wkcrowndelegate.md)
- [WKGestureRecognizer](wkgesturerecognizer.md)
- [WKLongPressGestureRecognizer](wklongpressgesturerecognizer.md)
- [WKPanGestureRecognizer](wkpangesturerecognizer.md)
- [WKSwipeGestureRecognizer](wkswipegesturerecognizer.md)
- [WKTapGestureRecognizer](wktapgesturerecognizer.md)

### Notifications

- [WKUserNotificationInterfaceController](wkusernotificationinterfacecontroller.md)

## See Also

### User interface

- [NowPlayingView](nowplayingview.md)
