CollectionViewPagingLayout

@MainActor
open class CollectionViewPagingLayout : UICollectionViewFlowLayout

支持按页横向滚动的 UICollectionViewLayout,可切换不同类型的滚动动画。

item 的大小和布局仅支持通过 UICollectionViewFlowLayout 的 property 系列属性修改,也即每个 item 都应相等。对于通过 delegate 方式返回各不相同的 itemSize、sectionInset 的场景是不支持的。

  • 当前布局样式

    Declaration

    Swift

    @MainActor
    open private(set) var style: CollectionViewPagingLayoutStyle { get }
  • 规定超过这个滚动速度就强制翻页,从而使翻页更容易触发。默认为 0.4

    Declaration

    Swift

    @MainActor
    open var velocityForEnsurePageDown: CGFloat
  • 是否支持一次滑动可以滚动多个 item,默认为 YES

    Declaration

    Swift

    @MainActor
    open var allowsMultipleItemScroll: Bool
  • 规定了当支持一次滑动允许滚动多个 item 的时候,滑动速度要达到多少才会滚动多个 item,默认为 2.5

    仅当 allowsMultipleItemScroll 为 YES 时生效

    Declaration

    Swift

    @MainActor
    open var multipleItemScrollVelocityLimit: CGFloat
  • 当前 cell 的百分之多少滚过临界点时就会触发滚到下一张的动作,默认为 .666,也即超过 2/3 即会滚到下一张。 对应地,触发滚到上一张的临界点将会被设置为 (1 - pagingThreshold)

    Declaration

    Swift

    @MainActor
    open var pagingThreshold: CGFloat
  • 中间那张卡片基于初始大小的缩放倍数,默认为 1.0

    Declaration

    Swift

    @MainActor
    open var maximumScale: CGFloat
  • 除了中间之外的其他卡片基于初始大小的缩放倍数,默认为 0.94

    Declaration

    Swift

    @MainActor
    open var minimumScale: CGFloat
  • Undocumented

    Declaration

    Swift

    @MainActor
    public init(style: CollectionViewPagingLayoutStyle)
  • Undocumented

    Declaration

    Swift

    @MainActor
    public required init?(coder: NSCoder)
  • Undocumented

    Declaration

    Swift

    @MainActor
    override open func prepare()
  • Undocumented

    Declaration

    Swift

    @MainActor
    override open func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool
  • Undocumented

    Declaration

    Swift

    @MainActor
    override open func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]?
  • Undocumented

    Declaration

    Swift

    @MainActor
    override open func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint