A container for one or more interface objects.


@interface WKInterfaceGroup : WKInterfaceObject


A WKInterfaceGroup is conceptually similar to a superview in UIKit, in that it handles layout for its contained items. A group arranges items vertically or horizontally within its available space. Groups also have attributes that you can use to configure the precise placement of items within the group. You can also nest groups inside of other groups to manage more complex layouts.

Do not subclass or create instances of this class yourself. Instead, define outlets in your interface controller class and connect them to the corresponding objects in your storyboard file. For example, to refer to a group object in your interface, define a property with the following syntax in your interface controller class:

@property (weak, nonatomic) IBOutlet WKInterfaceGroup* myGroup;

During the initialization of your interface controller, WatchKit creates a new instance of this class and assigns it to your outlet. At that point, you can use the object in your outlet to make changes to the group’s configuration.

Interface Builder Configuration Options

Xcode lets you configure information about your group interface object in your storyboard file. Table 1 lists the attributes you can configure in your storyboard and their meaning.

Table 1

WatchKit group attributes




The layout direction for items in the group. You can stack items horizontally or vertically, or have them overlap


The amount of space (in points) to insert between the edges of the group and its child elements. Selecting Custom lets you specify different values for the top, bottom, left, and right edges.


Additional spacing (in points) to include between child elements in the group. The default spacing is 2 points.


The background image to display behind the group’s items. You can also set this value programmatically using the setBackgroundImage:, setBackgroundImageData:, or setBackgroundImageNamed: methods.


The content mode for the group’s background image. Use this option to specify whether the image is scaled or pinned to a particular edge of the group.


A Boolean value indicating whether the background image is animatable. Set the value to Yes to configure the animation parameters, including its duration (in seconds) and whether it starts immediately when the parent interface controller appears onscreen. Animations started at load time run continuously in a loop.


The background color for the group.You can also set this value programmatically using the setBackgroundColor: method.


The corner radius to apply to the group’s rectangle. Content inside the group is clipped to the corner radius. If you do not specify a custom value, WatchKit applies a 6-point radius by default.

Overlapping Content

In watchOS 4 and later, you can use groups to create overlapping content. Set the group's Layout attribute in the Attribute inspector to Overlap (see Figure 1 ). The system positions each item in the group based on the item's alignment attributes.

A screenshot showing the Layout attribute's Overlap option.


Setting the Group’s Content

- setBackgroundColor:

Changes the background color for the group container.

- setBackgroundImage:

Changes the background image of the group container to the specified image.

- setBackgroundImageData:

Changes the background image of the group container to the image in the specified data object.

- setBackgroundImageNamed:

Changes the background image of the group container to the image in the specified resource file.

Setting the Layout Information

- setCornerRadius:

Changes the radius to use when drawing rounded corners for the group.

- setContentInset:

Sets the distance between the edges of the group and any contained objects.


Inherits From

See Also



An interface object that displays a visual separator within a group.


An object that creates and manages the contents of a single-column table interface.


An interface element that presents a scrolling list of items for the user to choose from.