UnbluUiButton

@IBDesignable
@objc
open class UnbluUiButton : UIControl

Button to control the visibility of the unblu UI. While the UI is visible, the superview of this button is overlayed with a semi transparent overlay. When the overlay or the button is pressed, the UI will close again.

If there are new messages and the ui is not displayed, the button displays a badge in its upper right corner with the number of unread messages.

This button is visible as soon as the unblu visitor/agent api is initialized.

The button can be used programmatically or via the interface builder (create a view and set its class to UnbluUiButton).

The button can be placed automatically or absolute. If it is constructed with only a size or empty constructor, it places itself into the lower right corner of its superview.

  • The icon which is displayed to open the unblu ui

    Declaration

    Swift

    @IBInspectable
    open var openUiIcon: UIImage { get set }
  • The icon which is displayed to close the unblu ui

    Declaration

    Swift

    @IBInspectable
    open var closeUiIcon: UIImage { get set }
  • The color of the icon on the button

    Declaration

    Swift

    @IBInspectable
    open var iconColor: UIColor { get set }
  • The color of the button

    Declaration

    Swift

    @IBInspectable
    open var buttonColor: UIColor { get set }
  • This is overriden to prevent setting the background color. Only the buttonColor is accepted

    Declaration

    Swift

    open override var backgroundColor: UIColor? { get set }
  • The color of the overlay which is placed over the superview. If it should be semi transparent, the color needs to define an alpha component

    Declaration

    Swift

    @IBInspectable
    open var overlayColor: UIColor { get set }
  • If the button is placed automatically, this value defines the space between the right border of the superview and the button

    Declaration

    Swift

    @IBInspectable
    open var paddingRight: CGFloat { get set }
  • If the button is placed automatically, this value defines the space between the lower border of the superview and the button

    Declaration

    Swift

    @IBInspectable
    open var paddingBottom: CGFloat { get set }
  • Defines the corner radius of the button. If the value is smaller 0, the radius is set to the half width/height (smaller value is used). Default is -1

    Declaration

    Swift

    @IBInspectable
    open var fixedCornerRadius: CGFloat { get set }
  • Color of the badge for the number of unread messages

    Declaration

    Swift

    @IBInspectable
    open var notificationBadgeColor: UIColor { get set }
  • If true the UI is maximized when the call UI is shown. This means the button is overlayed by the unblu UI for this moment (it does not change the top margin). This setting has no effect if the button is created with a fix frame. Default is true

    Declaration

    Swift

    @IBInspectable
    open var autoMaximizeOnCallUiVisible: Bool { get set }
  • Color of the badge text for the number of unread messages

    Declaration

    Swift

    @IBInspectable
    open var notificationBadgeTextColor: UIColor { get set }
  • A Boolean value that determines whether the view is hidden.

    Declaration

    Swift

    open override var isHidden: Bool { get set }
  • The number of messages

    Declaration

    Swift

    public private(set) var unreadMessagesCount: Int { get set }
  • Constructs the button with a default size. It is placed in the lower right corner of its superview with the defined padding.

    Declaration

    Swift

    public convenience init()
  • Constructs the button with the given size. It is placed in the lower right corner of its superview with the defined padding.

    Declaration

    Swift

    public init(size: CGFloat)

    Parameters

    size

    The size of the button

  • Constructor used by storyboard

    Declaration

    Swift

    required public init?(coder aDecoder: NSCoder)
  • Constructs the button with a defined size and position.

    Declaration

    Swift

    public override init(frame: CGRect)

    Parameters

    frame

    The frame into which the button is placed

  • Draws the button into the given rect. It should not be called directly.

    Declaration

    Swift

    override open func draw(_ rect: CGRect)

    Parameters

    rect

    The rectangle into which the ui is drawn

  • Function called by interface builder, when he creates the ui in the editor. Not needed for productive code.

    Declaration

    Swift

    override open func prepareForInterfaceBuilder()