---
title: TabContent
framework: swiftui
role: symbol
role_heading: Protocol
path: swiftui/tabcontent
---

# TabContent

A type that provides content for programmatically selectable tabs in a tab view.

## Declaration

```swift
@MainActor @preconcurrency protocol TabContent<TabValue>
```

## Overview

Overview A type conforming to this protocol inherits @preconcurrency @MainActor isolation from the protocol if the conformance is included in the type’s base declaration: struct MyCustomType: Transition {     // `@preconcurrency @MainActor` isolation by default } Isolation to the main actor is the default, but it’s not required. Declare the conformance in an extension to opt out of main actor isolation: extension MyCustomType: Transition {     // `nonisolated` by default }

## Topics

### Setting tab content

- [body](swiftui/tabcontent/body-swift.property.md)
- [Body](swiftui/tabcontent/body-swift.associatedtype.md)
- [TabValue](swiftui/tabcontent/tabvalue.md)

### Configuring tab content

- [badge(_:)](swiftui/tabcontent/badge(_:).md)
- [contextMenu(menuItems:)](swiftui/tabcontent/contextmenu(menuitems:).md)
- [customizationBehavior(_:for:)](swiftui/tabcontent/customizationbehavior(_:for:).md)
- [customizationID(_:)](swiftui/tabcontent/customizationid(_:).md)
- [defaultSectionExpansion(_:)](swiftui/tabcontent/defaultsectionexpansion(_:).md)
- [TabSectionExpansion](swiftui/tabsectionexpansion.md)
- [defaultVisibility(_:for:)](swiftui/tabcontent/defaultvisibility(_:for:).md)
- [disabled(_:)](swiftui/tabcontent/disabled(_:).md)
- [draggable(_:)](swiftui/tabcontent/draggable(_:).md)
- [dropDestination(for:action:)](swiftui/tabcontent/dropdestination(for:action:).md)
- [help(_:)](swiftui/tabcontent/help(_:).md)
- [hidden(_:)](swiftui/tabcontent/hidden(_:).md)
- [popover(isPresented:attachmentAnchor:arrowEdge:content:)](swiftui/tabcontent/popover(ispresented:attachmentanchor:arrowedge:content:).md)
- [popover(item:attachmentAnchor:arrowEdge:content:)](swiftui/tabcontent/popover(item:attachmentanchor:arrowedge:content:).md)
- [sectionActions(content:)](swiftui/tabcontent/sectionactions(content:).md)
- [springLoadingBehavior(_:)](swiftui/tabcontent/springloadingbehavior(_:).md)
- [swipeActions(edge:allowsFullSwipe:content:)](swiftui/tabcontent/swipeactions(edge:allowsfullswipe:content:).md)
- [tabPlacement(_:)](swiftui/tabcontent/tabplacement(_:).md)
- [TabPlacement](swiftui/tabplacement.md)

### Configuring tab accessibility

- [accessibilityHint(_:isEnabled:)](swiftui/tabcontent/accessibilityhint(_:isenabled:).md)
- [accessibilityIdentifier(_:isEnabled:)](swiftui/tabcontent/accessibilityidentifier(_:isenabled:).md)
- [accessibilityInputLabels(_:isEnabled:)](swiftui/tabcontent/accessibilityinputlabels(_:isenabled:).md)
- [accessibilityLabel(_:isEnabled:)](swiftui/tabcontent/accessibilitylabel(_:isenabled:).md)
- [accessibilityValue(_:isEnabled:)](swiftui/tabcontent/accessibilityvalue(_:isenabled:).md)

## Relationships

### Conforming Types

- [AnyTabContent](swiftui/anytabcontent.md)
- [ForEach](swiftui/foreach.md)
- [Group](swiftui/group.md)
- [Tab](swiftui/tab.md)
- [TabSection](swiftui/tabsection.md)

## See Also

### Configuring a tab

- [sectionActions(content:)](swiftui/view/sectionactions(content:).md)
- [TabPlacement](swiftui/tabplacement.md)
- [TabContentBuilder](swiftui/tabcontentbuilder.md)
- [AnyTabContent](swiftui/anytabcontent.md)
