UIView

@objc extension UIView: ReusableViewProtocol
extension UIView: ArrayResultBuilderCompatible
@objc extension UIView: StatisticalViewProtocol
  • 初始化可重用视图,默认调用init(frame:)

    Declaration

    Swift

    @MainActor
    open class func reusableViewInitialize(reuseIdentifier: String) -> Self
  • 即将回收视图,默认清空viewHolder,必须调用super

    Declaration

    Swift

    @MainActor
    open func reusableViewWillRecycle()
  • 即将重用视图,默认重用次数+1,必须调用super

    Declaration

    Swift

    @MainActor
    open func reusableViewWillReuse()

UIView+Shortcut

  • 链式布局对象

    Declaration

    Swift

    @MainActor
    public var layoutChain: LayoutChain { get }
  • 链式布局闭包

    Declaration

    Swift

    @discardableResult
    @MainActor
    public func layoutMaker(_ closure: (_ make: LayoutChain) -> Void) -> Self

StatisticalViewProtocol

  • 默认实现绑定点击事件方法,返回绑定结果,子类可重写,勿直接调用

    Declaration

    Swift

    @MainActor
    open func statisticalViewWillBindClick(_ containerView: UIView?) -> Bool
  • 可统计视图绑定曝光事件方法,返回绑定结果,子类可重写,勿直接调用

    Declaration

    Swift

    @MainActor
    open func statisticalViewWillBindExposure(_ containerView: UIView?) -> Bool
  • 可统计视图子视图列表方法,返回nil时不处理,一般container实现(批量曝光),子类可重写

    Declaration

    Swift

    @MainActor
    open func statisticalViewChildViews() -> [UIView]?
  • 可统计视图可见indexPaths方法,返回nil时不处理,一般container实现(批量曝光),子类可重写

    Declaration

    Swift

    @MainActor
    open func statisticalViewVisibleIndexPaths() -> [IndexPath]?
  • 可统计视图容器视图方法,返回nil时不处理,一般cell实现,子类可重写

    Declaration

    Swift

    @MainActor
    open func statisticalViewContainerView() -> UIView?
  • 可统计视图索引位置方法,返回nil时不处理,一般cell(批量曝光)和container(单曝光)实现,子类可重写

    Declaration

    Swift

    @MainActor
    open func statisticalViewIndexPath() -> IndexPath?