Skip to content

Customizing UI with LUNA ID for iOS#

Applies to LUNA ID for iOS only.

This topic provides information about LUNA ID protocols and methods that you can use to customize the UI of your app.

LMUICustomizerProtocol#

The LMUICustomizerProtocol protocol realizes the following interface elements:

Element Description
videoStreamNotificationView Shows user notifications.
faceDetectionFrameView Specifies a face detection bounding box.
rootCustomizationView Specifies the rooted view of the UI and returns the LMRootCustomizationViewProtocol object. The rootCustomizationView() method must contain videoStreamNotificationView and faceDetectionFrameView and can contain all user elements that are used in the UI as subviews. In rootCustomizationView, you can specify as many camera UI elements as you need.

Important: videoStreamNotificationView and faceDetectionFrameView cannot exist separately from each other.

LMRootCustomizationViewProtocol#

The LMRootCustomizationViewProtocol protocol inherits from UIView and is responsible for the UI rooted view. The protocol defines two mandatory methods:

Method Description
unlockUI() Unlocks the interface.
lockUI() Locks the interface or displays elements such as a progress bar when saving a video.

LMDefaultUICustomizer#

LMDefaultUICustomizer is the default implementation of the default interface builder.

LMDefaultRootCustomizationView#

The LMDefaultRootCustomizationView object implements the LMRootCustomizationViewProtocol protocol and represents the rooted view with the standard camera interface.

LMCameraViewController#

The creation of a UI is possible through the use of LMCameraViewController, to which the LMCustomization protocol object is passed.