FUIAvatarsView

@MainActor
open class FUIAvatarsView : FUIDrawingView

FUIAvatarsView is a container for a group of avatars with .grouped or .horizontal layout. It’s used as an inner view in FUIAvatarStack.

Example Initialization and Configuration:

let avatarsView = FUIAvatarsView()
avatarsView.avatars = ["1", UIImage(systemName: "person")!]
avatarsView.layout = .grouped
avatarsView.sideLength = 30
avatarsView.isCircular = true
avatarsView.borderWidth = 1
avatarsView.borderColor = UIColor.red
avatarsView.avatarsContentMode = .scaleAspectFit

Theming

Supported ImageView class paths:

// Avatars at different index.
fdlFUIAvatarStack_avatar_0 {}
fdlFUIAvatarStack_avatar_1 {}

//
fdlFUIAvatarStack_avatar {}

Supported IMAGE class paths for FUIAvatarsView:

fdlFUIAvatarsView_avatar_0 {}: Image theme for first image.
fdlFUIAvatarsView_avatar_1 {}: Image theme for second image.
fdlFUIAvatarsView_avatar {}: Image theme for other images.

Supported Image attributes:

    image-name: String;
    tint-color: Color;
    font-color: Color;
    background-color: Color;
    content-mode: ContentMode
  • Layout for avatars in the stack. grouped and horizontal are available. The default is .horizontal.

    See more

    Declaration

    Swift

    public enum Layout
  • List of images for avatar view.

    Declaration

    Swift

    @MainActor
    public var avatars: [FUIGlyphImage] { get set }
  • List of image containers instances.

    Declaration

    Swift

    @MainActor
    public private(set) var avatarsImageViews: [FUIImageView] { get }
  • Side length of avatars. The default is 30.

    Declaration

    Swift

    @MainActor
    public var sideLength: CGFloat { get set }
  • Maximum number of avatars. The default is nil.

    Declaration

    Swift

    @MainActor
    public var maxCount: Int? { get set }
  • Layout for avatars in the stack. The default is .grouped.

    Declaration

    Swift

    @MainActor
    public var layout: Layout { get set }
  • Content mode for avatars. Default is .scaleAspectFit.

    Declaration

    Swift

    @MainActor
    public var avatarsContentMode: UIView.ContentMode? { get set }
  • UIColor for avatar border color. Default is clear.

    Declaration

    Swift

    @MainActor
    public var borderColor: UIColor { get set }
  • Dimensions of avatars border width. Default is 0.

    Declaration

    Swift

    @MainActor
    public var borderWidth: CGFloat { get set }
  • For horizontal layout, the spacing between avatars.

    Declaration

    Swift

    @MainActor
    public var spacing: CGFloat { get set }
  • Specifies whether the avatars are drawn as circular. The default is true.

    Declaration

    Swift

    @MainActor
    public var isCircular: Bool { get set }
  • Handler is invoked in this view’s layout process.

    Declaration

    Swift

    @MainActor
    public var isDirtyHandler: (() -> Void)?