Protocols

The following protocols are available globally.

  • RSDSoundPlayer is a protocol for playing sounds intended to give the user UI feedback during the running of a task.

    See more

    Declaration

    Swift

    public protocol RSDSoundPlayer
  • As of this writing, there is no simple way for an application to allow selectively locking the orientation of the app to portrait, while still allowing some view controllers to require landscape. This is intended as a work-around for that limitation. Using this feature requires the view controller that needs to change the orientation to set the orientationLock in viewWillAppear and then clear the lock on viewDidAppear. syoung 08/15/2019

    Seealso

    RSDAppDelegate for an example implementation.
    See more

    Declaration

    Swift

    public protocol RSDAppOrientationLock : UIApplicationDelegate
  • RSDCancelActionController is a shared protocol that can be used to present a consistent response to a cancel action (button tap) where the implementation of the step view controller is not shared.

    See more

    Declaration

    Swift

    public protocol RSDCancelActionController : RSDStepController, RSDAlertPresenter
  • RSDPageViewControllerProtocol allows replacing the UIPageViewController in the base class with a different view controller implementation. It is assumed that the implementation is for a view controller appropriate to the current device.

    See more

    Declaration

    Swift

    public protocol RSDPageViewControllerProtocol
  • RSDOptionalTaskViewControllerDelegate is a delegate protocol defined as @objc to allow the methods to be optionally implemented. As such, these methods cannot take Swift protocols as their paramenters.

    See more

    Declaration

    Swift

    @objc
    public protocol RSDOptionalTaskViewControllerDelegate : AnyObject, NSObjectProtocol
  • RSDTaskViewControllerDelegate is an extension of the RSDTaskControllerDelegate protocol that also implements optional methods defined by RSDOptionalTaskViewControllerDelegate.

    Declaration

    Swift

    public protocol RSDTaskViewControllerDelegate : RSDTaskControllerDelegate, RSDOptionalTaskViewControllerDelegate
  • Optional protocol that can be used to get the step view controller from the step rather than from the task view controller or delegate.

    See more

    Declaration

    Swift

    public protocol RSDStepViewControllerVendor : RSDStep
  • Utility for presenting alerts

    See more

    Declaration

    Swift

    @objc
    public protocol RSDAlertPresenter : NSObjectProtocol
  • For the case where the learn more action is designed specifically for showing a view controller, this allows for vending a custom learn more action without requiring a custom step view.

    See more

    Declaration

    Swift

    public protocol RSDShowViewUIAction : RSDUIAction
  • A protocol for setting up a delegate for the button cell.

    See more

    Declaration

    Swift

    public protocol RSDButtonCellDelegate : AnyObject
  • Constants used by the button cell to set up standard constraints.

    Declaration

    Swift

    public protocol RSDButtonCellLayoutConstants
  • RSDLoadingViewControllerProtocol is a convenience protocol to allow UIViewControllers that do not inherit from the same subclass to show and hide a loading indicator.

    See more

    Declaration

    Swift

    public protocol RSDLoadingViewControllerProtocol
  • RSDPickerViewProtocol is a protocol for an input view that can be used to pick an answer.

    See more

    Declaration

    Swift

    @objc
    public protocol RSDPickerViewProtocol : AnyObject, NSObjectProtocol
  • RSDPickerObserver is an observer of changes to the picker.

    Declaration

    Swift

    @objc
    public protocol RSDPickerObserver : AnyObject, NSObjectProtocol
  • A protocol that UIView subclasses can use to standardize the color of their view properties.

    See more

    Declaration

    Swift

    public protocol RSDViewDesignable : AnyObject
  • Constants used by the navigation view header to set up standard constraints.

    Declaration

    Swift

    public protocol RSDNavigationHeaderLayoutConstants
  • Constants used by the navigation view footer to set up standard constraints.

    Declaration

    Swift

    public protocol RSDNavigationFooterLayoutConstants
  • RSDStepTextFieldCellLayoutConstants defines the layout constants used by a RSDStepTextFieldCell.

    Declaration

    Swift

    public protocol RSDStepTextFieldCellLayoutConstants
  • RSDStepTextViewCellLayoutConstants defines the layout constants used by a RSDStepTextViewCell.

    Declaration

    Swift

    public protocol RSDStepTextViewCellLayoutConstants
  • RSDStepTextInputView defines custom properties associated with a ‘UITextView’ or ‘UITextField’ and provides read only access to other common properties.

    Declaration

    Swift

    public protocol RSDStepTextInputView : AnyObject