developer
2023-05-20 c1ffd99c4b60066774eb2c97b31e4aaa014e7f51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//
//  CWFlowLayout.h
//  CWCarousel
//
//  Created by WangChen on 2018/4/3.
//  Copyright © 2018年 ChenWang. All rights reserved.
//
 
#import <UIKit/UIKit.h>
 
typedef NS_ENUM(NSUInteger, CWCarouselStyle) {
    CWCarouselStyle_Unknow = 0,     ///<未知样式
    CWCarouselStyle_Normal,         ///<普通样式,一张图占用整个屏幕宽度
    CWCarouselStyle_H_1,            ///<自定义样式一, 中间一张居中,前后2张图有部分内容在屏幕内可以预览到
    CWCarouselStyle_H_2,            ///<自定义样式二, 中间一张居中,前后2张图有部分内容在屏幕内可以预览到,并且中间一张图正常大小,前后2张图会缩放
    CWCarouselStyle_H_3,            ///<自定义样式三, 中间一张居中,前后2张图有部分内容在屏幕内可以预览到,中间一张有放大效果,前后2张正常大小
};
 
@interface CWFlowLayout : UICollectionViewFlowLayout
/**
 影响轮播图风格
 */
@property (nonatomic, assign) CWCarouselStyle style;
 
/**
 * 横向滚动时,每张轮播图之间的间距
 * CWCarouselStyle_H_3 样式时设置无效
 */
@property (nonatomic, assign) CGFloat itemSpace_H;
 
/**
 * 横向滚动时,每张轮播图的宽度
 * style = CWCarouselStyle_Normal 时设置无效
 */
@property (nonatomic, assign) CGFloat itemWidth;
 
/**
 * style = CWCarouselStyle_H_2 有效
 * 前后2张图的缩小比例 (0.0 ~ 1.0)
 * 默认: 0.8
 */
@property (nonatomic, assign) CGFloat minScale;
 
/**
 * style = CWCarouselStyle_H_3 有效
 * 中间一张图放大比例
 * 默认: 1.2
 * 1.1.0版本后,无论设置多少,中间一张的cell的比例始终是原始size, 这个比例是相对两边cell的size的相对比例
    也就是说,该值越大,那么两边的cell就会相对越小.反之越大.
 */
@property (nonatomic, assign) CGFloat maxScale;
 
/**
 纵向滚动时,每张轮播图之间的间距(暂未实现)
 */
@property (nonatomic, assign) CGFloat itemSpace_V;
 
 
/**
 构造方法
 
 @param style 轮播图风格
 @return 实例对象
 */
- (instancetype)initWithStyle:(CWCarouselStyle)style;
@end