TabViewDestination
@MainActor
public final class TabViewDestination<ViewType, UserInteractionType, DestinationType, ContentType, TabType, InteractorType> : TabBarViewDestinationable where ViewType : TabBarViewDestinationInterfacing, UserInteractionType : UserInteractionTypeable, DestinationType : RoutableDestinations, ContentType : ContentTypeable, TabType : TabTypeable, InteractorType : InteractorTypeable
extension TabViewDestination: @preconcurrency CustomStringConvertible
A Destination which represents a SwiftUI View
which contains a TabView
.
This is a generic Destination that can be used to represent most TabView
s in a SwiftUI-based app.
-
Declaration
Swift
@MainActor public let id: UUID
-
Declaration
Swift
@MainActor public var type: DestinationType { get set }
-
Declaration
Swift
@MainActor public var view: ViewType? { get set }
-
Declaration
Swift
@MainActor public var internalState: DestinationInternalState<UserInteractionType, DestinationType, ContentType, TabType, InteractorType> { get set }
-
Declaration
Swift
@MainActor public var groupInternalState: GroupDestinationInternalState<DestinationType, ContentType, TabType> { get set }
-
Declaration
Swift
@MainActor public var destinationIDsForTabs: [TabType : UUID] { get set }
-
Declaration
Swift
@MainActor public var activeTabs: [TabModel<TabType>] { get set }
-
Declaration
Swift
@MainActor public var selectedTab: TabModel<TabType> { get set }
-
Declaration
Swift
@MainActor public var destinationPresentationClosure: TabBarViewDestinationPresentationClosure<DestinationType, ContentType, TabType>? { get set }
-
Declaration
Swift
@MainActor public var selectedTabUpdatedClosure: TabBarViewSelectedTabUpdatedClosure<TabType>? { get set }
-
init(type:
tabDestinations: tabTypes: selectedTab: destinationConfigurations: navigationConfigurations: parentDestinationID: ) The initializer.
Declaration
Swift
@MainActor public init?(type: DestinationType, tabDestinations: [any ViewDestinationable<DestinationType, ContentType, TabType>], tabTypes: [TabType], selectedTab: TabType, destinationConfigurations: AppDestinationConfigurations<UserInteractionType, DestinationType, ContentType, TabType>? = nil, navigationConfigurations: AppDestinationConfigurations<SystemNavigationType, DestinationType, ContentType, TabType>? = nil, parentDestinationID: UUID? = nil)
Parameters
type
The type of Destination.
tabDestinations
An array of Destinations for each tab, in order of appearance.
tabTypes
An array of tab types, in order of appearance.
selectedTab
The type of tab that should be initially selected.
destinationConfigurations
The Destination presentation configurations associated with this Destination.
navigationConfigurations
The system navigation events associated with this Destination.
parentDestinationID
The identifier of the parent Destination.
-
Declaration
Swift
@MainActor public func prepareForPresentation()
-
Declaration
Swift
@MainActor public var description: String { get }