SplitViewControllerDestination
@MainActor
public final class SplitViewControllerDestination<PresentationConfiguration, SplitViewControllerType> : SplitViewControllerDestinationable where PresentationConfiguration : DestinationPresentationConfiguring, SplitViewControllerType : SplitViewControllerDestinationInterfacing, PresentationConfiguration.DestinationType == SplitViewControllerType.DestinationType
A Destination which represents a UIKit UISplitViewController
.
This is a generic Destination that can be used to represent most UISplitViewController
s in a UIKit-based app.
-
A type of
AppDestinationConfigurations
which handles Destination presentation configurations.Declaration
Swift
public typealias DestinationConfigurations = AppDestinationConfigurations<UserInteractionType, PresentationConfiguration>
-
A type of
AppDestinationConfigurations
which handles system navigation events.Declaration
Swift
public typealias NavigationConfigurations = AppDestinationConfigurations<SystemNavigationType, PresentationConfiguration>
-
Declaration
Swift
public typealias DestinationType = SplitViewControllerType.DestinationType
-
Declaration
Swift
public typealias TabType = PresentationConfiguration.TabType
-
Declaration
Swift
public typealias ContentType = PresentationConfiguration.ContentType
-
Declaration
Swift
public typealias InteractorType = SplitViewControllerType.InteractorType
-
Declaration
Swift
public typealias PresentationConfiguration = PresentationConfiguration
-
Declaration
Swift
public typealias UserInteractionType = SplitViewControllerType.UserInteractionType
-
Declaration
Swift
public typealias ControllerType = SplitViewControllerType
-
Declaration
Swift
public typealias PresentationType = PresentationConfiguration.PresentationType
-
Declaration
Swift
@MainActor public let id: UUID
-
Declaration
Swift
@MainActor public let type: DestinationType
-
Declaration
Swift
@MainActor public var controller: ControllerType?
-
Declaration
Swift
@MainActor public var parentDestinationID: UUID?
-
Declaration
Swift
@MainActor public var destinationIDsForColumns: [UISplitViewController.Column : UUID]
-
Declaration
Swift
@MainActor public var childDestinations: [any Destinationable<PresentationConfiguration>]
-
Declaration
Swift
@MainActor public var currentChildDestination: (any Destinationable<PresentationConfiguration>)?
-
Declaration
Swift
@MainActor public var systemNavigationConfigurations: NavigationConfigurations?
-
Declaration
Swift
@MainActor public var interactors: [InteractorType : any Interactable]
-
Declaration
Swift
@MainActor public var interfaceActions: [UserInteractionType : InterfaceAction<UserInteractionType, DestinationType, ContentType>]
-
Declaration
Swift
@MainActor public var systemNavigationActions: [SystemNavigationType : InterfaceAction<SystemNavigationType, DestinationType, ContentType>]
-
Declaration
Swift
@MainActor public var interactorAssistants: [UserInteractionType : any InteractorAssisting<SplitViewControllerDestination>]
-
Declaration
Swift
@MainActor public var destinationConfigurations: DestinationConfigurations?
-
Declaration
Swift
@MainActor public var childWasRemovedClosure: GroupChildRemovedClosure?
-
Declaration
Swift
@MainActor public var currentDestinationChangedClosure: GroupCurrentDestinationChangedClosure?
-
Declaration
Swift
@MainActor public var supportsIgnoringCurrentDestinationStatus: Bool
-
Declaration
Swift
@MainActor public var isSystemNavigating: Bool
-
init(type:
destinationsForColumns: destinationConfigurations: navigationConfigurations: parentDestinationID: ) The initializer.
Declaration
Swift
@MainActor public init(type: DestinationType, destinationsForColumns: [UISplitViewController.Column : any ControllerDestinationable<PresentationConfiguration>], destinationConfigurations: DestinationConfigurations? = nil, navigationConfigurations: NavigationConfigurations? = nil, parentDestinationID: UUID? = nil)
Parameters
type
The type of Destination.
destinationsForColumns
A dictionary of
UIViewController
-based Destination objects, whose associated keys are theUISplitViewController.Column
column type should be displayed in.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.