MoEngageInAppLabelWidget

@objcMembers
@MainActor
public class MoEngageInAppLabelWidget : UILabel

Label widget for displaying text in InApp campaigns. Supports multi-line text, dynamic font scaling, custom padding, and tap actions.

Public Properties

  • The widget model containing style, content, and actions

    Declaration

    Swift

    @MainActor
    public var widgetModelObj: MoEngageInAppWidget
  • The campaign ID associated with this widget

    Declaration

    Swift

    @MainActor
    public var campaignID: String
  • The starting position for widget layout calculations

    Declaration

    Swift

    @MainActor
    public var startPosition: CGPoint
  • The calculated end position for subsequent widget layout

    Declaration

    Swift

    @MainActor
    public var endPosition: CGPoint
  • The data source for font resources and other configuration

    Declaration

    Swift

    @MainActor
    public weak var dataSource: MoEngageInAppViewDataSource?

Initialization

  • Initializes the label widget with widget configuration and layout parameters.

    Declaration

    Swift

    @MainActor
    public init(
        withInAppWidget widget: MoEngageInAppWidget,
        inContainer viewContainer: UIView,
        withStartPosition startPos: CGPoint,
        andCampaignID campaignID: String
    )

    Parameters

    widget

    The widget model containing style, content, and actions

    viewContainer

    The parent container view for layout calculations

    startPos

    The starting position for the widget

    campaignID

    The campaign identifier

  • Declaration

    Swift

    @MainActor
    public required init?(coder: NSCoder)

Custom Drawing

  • Overrides text drawing to apply content insets (padding).

    Declaration

    Swift

    @MainActor
    public override func drawText(in rect: CGRect)

    Parameters

    rect

    The rectangle in which to draw the text