MimiUserFlowStep

open class MimiUserFlowStep<ContentViewController, HeaderView, FooterView> : NSObject, MimiCoordinatableUserFlowSteppable, MimiThemeable where ContentViewController : UIViewController, HeaderView : MimiUserFlowStepHeaderView, FooterView : MimiUserFlowStepFooterView

An individual step that makes up part of a flow, mapping 1:1 with a screen that appears in the flow.

The Step is responsible for populating and controlling the on screen UI elements, and has the power to dictate flow navigation as well.

  • Declaration

    Swift

    public internal(set) weak var coordinator: MimiUserFlowCoordinator! { get }
  • Declaration

    Swift

    public internal(set) var navigationItem: MimiUserFlowNavigationItemable? { get }
  • The view that the step is displayed in.

    Declaration

    Swift

    public internal(set) weak var view: UIView? { get }
  • The footer view controller for the step.

    Declaration

    Swift

    public private(set) weak var content: ContentViewController! { get }
  • The header view controller for the step.

    Declaration

    Swift

    public private(set) weak var header: HeaderView! { get }
  • The footer view controller for the step.

    Declaration

    Swift

    public private(set) weak var footer: FooterView! { get }
  • Background color to use for flow container view controllers.

    If nil, will attempt to use theme colors or default to systemBackground / white.

    Declaration

    Swift

    open var backgroundColor: UIColor { get }
  • Returns all of the interface orientations that the step supports.

    This defaults to .all on iPad and .portrait only on iPhone.

    Declaration

    Swift

    open var supportedInterfaceOrientations: UIInterfaceOrientationMask { get }
  • A Boolean value indicating whether the view controller enforces a modal behavior.

    The default value of this property is false. When you set it to true, UIKit ignores events outside the view controller’s bounds and prevents the interactive dismissal of the view controller while it is onscreen.

    Declaration

    Swift

    open var isModalInPresentation: Bool { get set }
  • Whether to constrain the content views within the step to the presented safe area. Defaults to true.

    Declaration

    Swift

    open var layoutContentToSafeArea: Bool { get }
  • Whether the view requires to be full width, and ignore any horizontal insets.

    The default value of this property is false.

    Declaration

    Swift

    open var requiresFullWidth: Bool { get }