Theme

@available(iOS 12.0, *)
@objc(BDKTheme)
public class Theme : NSObject, NSCopying

A class used to style the Kaleyra Video view controllers. Please see the provided documentation for knowledge about mapping between properties and UI components.

  • The accent color of the theme. This will be used as the tintColor for any views with this theme.

    Declaration

    Swift

    @objc
    public var accentColor: UIColor { get set }
  • The primary background color of the theme. This will be used as the backgroundColor for any views with this theme.

    Declaration

    Swift

    @objc
    public var primaryBackgroundColor: UIColor { get set }
  • The secondary background color of the theme. This will be used as the backgroundColor for any supplementary views inside a view with this theme.

    Declaration

    Swift

    @objc
    public var secondaryBackgroundColor: UIColor { get set }
  • The tertiary background color of the theme. This will be used as the backgroundColor for any supplementary views inside a view with this theme. Those views will have less visual importance than the views coloured with the secondary background color.

    Declaration

    Swift

    @objc
    public var tertiaryBackgroundColor: UIColor { get set }
  • The keyboard appearance of the theme.

    This will be used as the keyboardAppearance for any text views with this theme.

    Remark

    Default is UIKeyboardAppearanceDefault.

    Declaration

    Swift

    @objc
    public var keyboardAppearance: UIKeyboardAppearance { get set }
  • The bar translucent property of the theme.

    This will be used as the translucent property for any bars with this theme.

    Remark

    Default is true.

    Declaration

    Swift

    @objc
    public var barTranslucent: Bool { get set }
  • The bar style property of the theme.

    This will be used as the barStyle property for any bars with this theme.

    Remark

    Default is UIBarStyle.default.

    Declaration

    Swift

    @objc
    public var barStyle: UIBarStyle { get set }
  • The bar tint color of the theme.

    This will be used as the barTintColor for any bars with this theme.

    Declaration

    Swift

    @objc
    public var barTintColor: UIColor? { get set }
  • The navigation bar title font of the theme.

    This will be used as the font attribute for any navigation bar titles with this theme.

    Declaration

    Swift

    @objc
    public var navBarTitleFont: UIFont? { get set }
  • The tab bar item font of the theme.

    This will be used as the font attribute for any tab bar items with this theme.

    Declaration

    Swift

    @objc
    public var barItemFont: UIFont? { get set }
  • The body font of the theme.

    This will be used as the font for any text views with this theme.

    Declaration

    Swift

    @objc
    public var bodyFont: UIFont? { get set }
  • The font of the theme.

    This will be used for all standard labels using this theme.

    Important

    Make sure to set an appropriate size since the size you provide will be used as default one.

    Declaration

    Swift

    @objc
    public var font: UIFont? { get set }
  • The emphasis font of the theme.

    This will be used for all labels that require emphasis.

    Important

    Important:Make sure to set an appropriate size since the size you provide will be used as default one.

    Declaration

    Swift

    @objc
    public var emphasisFont: UIFont? { get set }
  • The secondary font of the theme.

    This will be used for all secondary labels using this theme.

    Important

    Make sure to set an appropriate size since the size you provide will be used as default one.

    Declaration

    Swift

    @objc
    public var secondaryFont: UIFont? { get set }
  • The medium font point size of the theme.

    This will be used to size all medium labels using this theme.

    Declaration

    Swift

    @objc
    public var mediumFontPointSize: CGFloat { get set }
  • The large font point size of the theme.

    This will be used to size all large labels using this theme.

    Declaration

    Swift

    @objc
    public var largeFontPointSize: CGFloat { get set }
  • The default theme used by all Kaleyra video view controllers that support configurable theme.

    All themable view controllers have a configuration property that takes a nullable theme object. If you don’t set the theme, the default theme will be used to customize that view controller’s appearance, otherwise the given theme will be used.

    Declaration

    Swift

    @objc(defaultTheme)
    public class func `default`() -> Theme
  • :nodoc

    Declaration

    Swift

    public override func isEqual(_ object: Any?) -> Bool
  • :nodoc

    Declaration

    Swift

    public func copy(with zone: NSZone? = nil) -> Any
  • Initialize a new theme instance copying default theme values

    Declaration

    Swift

    @objc
    public override init()