A label is a static piece of text that people can read and often copy, but not edit.
Labels display text throughout the interface, in buttons, menu items, and views, helping people understand the current context and what they can do next.
The term label refers to uneditable text that can appear in various places. For example:
- Within a button, a label generally conveys what the button does, such as Edit, Cancel, or Send.
- Within many lists, a label can describe each item, often accompanied by a symbol or an image.
- Within a view, a label might provide additional context by introducing a control or describing a common action or task that people can perform in the view.
The guidance below can help you use a label to display text. In some cases, guidance for specific components — such as buttons, menus, and lists — includes additional recommendations for using text.
Use a label to display a small amount of text that people don’t need to edit. If you need to let people edit a small amount of text, use a text field. If you need to display a large amount of text, and optionally let people edit it, use a text view.
Prefer system fonts. A label can display plain or styled text, and it supports Dynamic Type (where available) by default. If you adjust the style of a label or use custom fonts, make sure the text remains legible.
Use system-provided label colors to communicate relative importance. The system defines four label colors that vary in appearance to help you give text different levels of visual importance. For additional guidance, see Color.
|System color||Example usage||iOS, iPadOS, tvOS||macOS|
|Secondary label||A subheading or supplemental text||secondaryLabelColor||secondaryLabelColor|
|Tertiary label||Text that describes an unavailable item or behavior||tertiaryLabelColor||tertiaryLabelColor|
|Quaternary label||Watermark text||quaternaryLabelColor||quaternaryLabelColor|
Make useful label text selectable. If a label contains useful information — like an error message, a location, or an IP address — consider letting people select and copy it for pasting elsewhere.
No additional considerations for iOS, iPadOS, or tvOS.
DEVELOPER NOTE To display uneditable text in a label, use the isEditable property of NSTextField.
In addition to using SwiftUI Label and Text components in your watchOS app, you can use WatchKit date and timer labels to display real-time values.
A date label (shown below on the left) displays the current date, the current time, or a combination of both. You can configure a date label to use a variety of formats, calendars, and time zones. After configuration, a date label updates its value without further input from your app. A timer label (shown below on the right) displays a precise countdown or count-up timer. You can configure a timer label to display its count value in a variety of formats. After configuration, a timer label counts down or up without further input from your app.
Consider using date and timer labels in complications. When you use the system-provided date and timer labels, watchOS automatically adjusts the presentation of the label content to fit the available space. For guidance, see Complications; for developer guidance, see CLKRelativeDateTextProvider.