<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SubscriptionStoreControlPlacement",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "StoreKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:17_StoreKit_SwiftUI012SubscriptionA16ControlPlacementP"
  },
  "title" : "SubscriptionStoreControlPlacement"
}
-->

# SubscriptionStoreControlPlacement

A type that specifies the placement of a subscription control in a subscription store view.

```
protocol SubscriptionStoreControlPlacement : RawRepresentable where Self.RawValue == SubscriptionStoreControlPlacementKey
```

## Overview

A placement indicates a position for placing a control in a view. Specifically, a subscription store control placement indicates a postion for placing a subscription control in a subscription store view. You typically don’t need to implement your own control placement; instead, use the conforming placement types. To see the available control placements for a type, such as a [`PagedPickerSubscriptionStoreControlStyle`](/documentation/StoreKit/PagedPickerSubscriptionStoreControlStyle), check the `Placement` associated type on a control style.

Not all subscription store control styles support all placements. For example, the picker control styles don’t support the bottom bar placement because the height obscures the scroll view.

## Topics

### Getting a placement

[`static var automatic: Self`](/documentation/StoreKit/SubscriptionStoreControlPlacement/automatic)

The default placement for a subscription store control.

### Placement types

[`struct AutomaticSubscriptionStoreControlStyle`](/documentation/StoreKit/AutomaticSubscriptionStoreControlStyle)

The default in-app subscription store control style that resolves its appearance based on the view’s context.

[`struct ButtonsSubscriptionStoreControlStyle`](/documentation/StoreKit/ButtonsSubscriptionStoreControlStyle)

A subscription store control style that displays a subscribe button for each subscription plan.

[`struct PickerSubscriptionStoreControlStyle`](/documentation/StoreKit/PickerSubscriptionStoreControlStyle)

A subscription store control style that displays subscription plans as a picker control, with a single button to subscribe.

[`struct CompactPickerSubscriptionStoreControlStyle`](/documentation/StoreKit/CompactPickerSubscriptionStoreControlStyle)

A subscription store control style that displays subscription plans as a compact picker control, with a single button to subscribe.

[`struct PagedPickerSubscriptionStoreControlStyle`](/documentation/StoreKit/PagedPickerSubscriptionStoreControlStyle)

A subscription store control style that displays subscription plans as a paged picker control, with a single button to subscribe.

## Relationships

### Inherits From

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

### Conforming Types

[`Placement`](/documentation/StoreKit/CompactPickerSubscriptionStoreControlStyle/Placement)

[`Placement`](/documentation/StoreKit/PagedPickerSubscriptionStoreControlStyle/Placement)

[`AutomaticSubscriptionStoreControlPlacement`](/documentation/StoreKit/AutomaticSubscriptionStoreControlPlacement)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)