QMUICollectionViewPagingLayout
@interface QMUICollectionViewPagingLayout : UICollectionViewFlowLayout
支持按页横向滚动的 UICollectionViewLayout,可切换不同类型的滚动动画。
Warning
item 的大小和布局仅支持通过 UICollectionViewFlowLayout 的 property 系列属性修改,也即每个 item 都应相等。对于通过 delegate 方式返回各不相同的 itemSize、sectionInset 的场景是不支持的。-
Undocumented
Declaration
Objective-C
- (instancetype)initWithStyle:(QMUICollectionViewPagingLayoutStyle)style NS_DESIGNATED_INITIALIZER;
Swift
init!(style: QMUICollectionViewPagingLayoutStyle)
-
Undocumented
Declaration
Objective-C
@property(nonatomic, assign, readonly) QMUICollectionViewPagingLayoutStyle style
Swift
var style: QMUICollectionViewPagingLayoutStyle { get }
-
规定超过这个滚动速度就强制翻页,从而使翻页更容易触发。默认为 0.4
Declaration
Objective-C
@property (nonatomic) CGFloat velocityForEnsurePageDown;
Swift
var velocityForEnsurePageDown: CGFloat { get set }
-
是否支持一次滑动可以滚动多个 item,默认为 YES
Declaration
Objective-C
@property (nonatomic) BOOL allowsMultipleItemScroll;
Swift
var allowsMultipleItemScroll: Bool { get set }
-
规定了当支持一次滑动允许滚动多个 item 的时候,滑动速度要达到多少才会滚动多个 item,默认为 2.5
仅当 allowsMultipleItemScroll 为 YES 时生效
Declaration
Objective-C
@property (nonatomic) CGFloat multipleItemScrollVelocityLimit;
Swift
var multipleItemScrollVelocityLimit: CGFloat { get set }
-
当前 cell 的百分之多少滚过临界点时就会触发滚到下一张的动作,默认为 .666,也即超过 2/3 即会滚到下一张。 对应地,触发滚到上一张的临界点将会被设置为 (1 - pagingThreshold)
Declaration
Objective-C
@property (nonatomic) CGFloat pagingThreshold;
Swift
var pagingThreshold: CGFloat { get set }
-
打开时,会在 collectionView.backgroundView 上添加一条红线,用来标志分页的参考点位置。仅对 Default style 有效。
Declaration
Objective-C
@property (nonatomic) BOOL debug;
Swift
var debug: Bool { get set }
-
中间那张卡片基于初始大小的缩放倍数,默认为 1.0
Declaration
Objective-C
@property (nonatomic) CGFloat maximumScale;
Swift
var maximumScale: CGFloat { get set }
-
除了中间之外的其他卡片基于初始大小的缩放倍数,默认为 0.9
Declaration
Objective-C
@property (nonatomic) CGFloat minimumScale;
Swift
var minimumScale: CGFloat { get set }
-
旋转卡片相关 左右两个卡片最终旋转的角度有 rotationRadius * 90 计算出来 rotationRadius表示旋转的半径
Warning
仅当 style 为 QMUICollectionViewPagingLayoutStyleRotation 时才生效Declaration
Objective-C
@property (nonatomic) CGFloat rotationRatio;
Swift
var rotationRatio: CGFloat { get set }
-
Undocumented
Declaration
Objective-C
@property(nonatomic, assign) CGFloat rotationRadius
Swift
var rotationRadius: CGFloat { get set }