Skip to content

CLASS

WorkflowHostingController

public final class WorkflowHostingController<ScreenType, Output>: WorkflowUIViewController where ScreenType: Screen

Drives view controllers from a root Workflow.

Properties

output

public var output: Signal<Output, Never>

Emits output events from the bound workflow.

customizeEnvironment

public var customizeEnvironment: CustomizeEnvironment

An environment customization that will be applied to the environment of the root screen.

screen

public var screen: ScreenType

The currently displayed screen - the most recent rendering from the hosted workflow

childForStatusBarStyle

override public var childForStatusBarStyle: UIViewController?

childForStatusBarHidden

override public var childForStatusBarHidden: UIViewController?

childForHomeIndicatorAutoHidden

override public var childForHomeIndicatorAutoHidden: UIViewController?

childForScreenEdgesDeferringSystemGestures

override public var childForScreenEdgesDeferringSystemGestures: UIViewController?

supportedInterfaceOrientations

override public var supportedInterfaceOrientations: UIInterfaceOrientationMask

preferredStatusBarUpdateAnimation

override public var preferredStatusBarUpdateAnimation: UIStatusBarAnimation

childViewControllerForPointerLock

override public var childViewControllerForPointerLock: UIViewController?

Methods

init(workflow:customizeEnvironment:observers:)

public init<W: AnyWorkflowConvertible>(
    workflow: W,
    customizeEnvironment: @escaping CustomizeEnvironment = { _ in },
    observers: [WorkflowObserver] = []
) where W.Rendering == ScreenType, W.Output == Output

update(workflow:)

public func update<W: AnyWorkflowConvertible>(workflow: W) where W.Rendering == ScreenType, W.Output == Output

Updates the root Workflow in this container.

init(coder:)

public required init?(coder aDecoder: NSCoder)

viewDidLoad()

override public func viewDidLoad()

viewWillLayoutSubviews()

override public func viewWillLayoutSubviews()

viewDidLayoutSubviews()

override public func viewDidLayoutSubviews()

preferredContentSizeDidChange(forChildContentContainer:)

override public func preferredContentSizeDidChange(
    forChildContentContainer container: UIContentContainer
)