Buttons

Buttons initiate app-specific actions, have customizable backgrounds, and can include a title or an icon. The system provides a number of predefined button styles for most use cases. You can also design fully custom buttons.

For implementation details, see UIButton.

System Buttons

System buttons often appear in navigation bars and toolbars, but may be used anywhere.

Use verbs in titles. An action-specific title shows that a button is interactive and says what happens when you tap it.

Use title-case for titles. Capitalize every word except articles, coordinating conjunctions, and prepositions of four or fewer letters.

Keep titles short. Overly long text can crowd your interface and may get truncated on smaller screens.

Consider adding a border or a background only when necessary. By default, a system button has no border or background. In some content areas, however, a border or background is necessary to denote interactivity. In the Phone app, bordered number keys reinforce the traditional model of making a call, and the background of the Call button provides an eye-catching target that’s easy to hit.

For implementation details, see the UIButtonTypeSystem button type of UIButton.

Detail Disclosure Buttons

A Detail Disclosure button opens a view—typically, a modal view—containing additional information or functionality related to a specific item onscreen. Although you can use them in any type of view, Detail Disclosure buttons are commonly used in tables to access information about specific rows.

Use Detail Disclosure buttons appropriately in tables. When a Detail Disclosure button is present in a table row, tapping the button shows additional information. Tapping elsewhere selects the row or results in app-defined behavior. If you want people to tap the entire row to see additional detail, don’t use a Detail Disclosure button. Instead, use a detail disclosure accessory control, which appears as a chevron. See UITableViewCellAccessoryType in UITableViewCell.

For implementation details, see the UIButtonTypeDetailDisclosure button type of UIButton.

Info Buttons

An Info button reveals configuration details about an app, sometimes on the back of the current view, after flipping the view around. Info buttons come in two styles—light and dark. Pick the style that best coordinates with your app’s design and doesn’t get lost onscreen.

For implementation details, see the UIButtonTypeInfoLight and UIButtonTypeInfoDark button types of UIButton.

Add Contact Buttons

Users can tap an Add Contact button to browse a list of existing contacts and to select one for insertion into a text field or other view. In Mail, for example, you can tap the Add Contact button in the To field of a message to select a recipient from your list of contacts.

Allow keyboard entry in addition to the Add Contact button. The Add Contact button provides an alternative, not a replacement, to typing contact information. It’s fine to provide it as a shortcut for adding existing contacts, but let people enter contact information with the keyboard too.

For implementation details, see the UIButtonTypeContactAdd button type of UIButton.