DynamicLayoutViewProtocol

@MainActor
@_spi(FW)
public protocol DynamicLayoutViewProtocol

动态布局视图协议

  • 如果用来确定Cell所需高度的View是唯一的,请把此值设置为YES,可提升一定的性能

    Declaration

    Swift

    @MainActor
    var maxYViewFixed: Bool { get set }
  • 最大Y视图的底部内边距(横向时为X),可避免新创建View来撑开Cell,默认0

    Declaration

    Swift

    @MainActor
    var maxYViewPadding: CGFloat { get set }
  • 最大Y视图是否撑开布局(横向时为X),需布局约束完整。默认NO,无需撑开布局;YES时padding不起作用

    Declaration

    Swift

    @MainActor
    var maxYViewExpanded: Bool { get set }
  • 创建可重用动态布局视图方法

    Declaration

    Swift

    @MainActor
    static func dynamicLayoutView() -> Self
  • 获取可重用动态布局视图内容视图

    Declaration

    Swift

    @MainActor
    var dynamicLayoutContentView: UIView { get }
  • 准备可重用动态布局视图方法

    Declaration

    Swift

    @MainActor
    func dynamicLayoutPrepare()

Available where Self: UIView

  • maxYViewFixed Default implementation

    Default Implementation

    如果用来确定Cell所需高度的View是唯一的,请把此值设置为YES,可提升一定的性能

    Declaration

    Swift

    @MainActor
    public var maxYViewFixed: Bool { get nonmutating set }
  • maxYViewPadding Default implementation

    Default Implementation

    最大Y视图的底部内边距(横向时为X),可避免新创建View来撑开Cell,默认0

    Declaration

    Swift

    @MainActor
    public var maxYViewPadding: CGFloat { get nonmutating set }
  • maxYViewExpanded Default implementation

    Default Implementation

    最大Y视图是否撑开布局(横向时为X),需布局约束完整。默认NO,无需撑开布局;YES时padding不起作用

    Declaration

    Swift

    @MainActor
    public var maxYViewExpanded: Bool { get nonmutating set }
  • dynamicLayoutView() Default implementation

    Default Implementation

    创建可重用动态布局视图方法

    Declaration

    Swift

    @MainActor
    public static func dynamicLayoutView() -> Self
  • dynamicLayoutContentView Default implementation

    Default Implementation

    获取可重用动态布局视图内容视图

    Declaration

    Swift

    @MainActor
    public var dynamicLayoutContentView: UIView { get }
  • dynamicLayoutPrepare() Default implementation

    Default Implementation

    可重用动态布局视图重用方法

    Declaration

    Swift

    @MainActor
    public func dynamicLayoutPrepare()