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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//
// KWMClothingSetsHeader.m
// iCemarose
//
// Created by HouWeiBin on 2017/7/10.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMClothingSetsHeader.h"
#import "KWMClothingSetsCell.h"
#import "UIImageView+WebCache.h"
#import "UIView+Prettify.h"
@interface KWMClothingSetsHeader()
@property (nonatomic,weak) IBOutlet UIView *vView;
@property (nonatomic,weak) IBOutlet UICollectionView *cvSets;
@property (nonatomic,weak) IBOutlet UIImageView *ivHeader;
@end
@implementation KWMClothingSetsHeader
+(NSString *)kwmTag{
return @"KWMClothingSetsHeader";
}
- (id)init{
if (self=[super init]){
[self addView];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self addView];
}
return self;
}
-(instancetype)initWithFrame:(CGRect)frame{
if (self =[super initWithFrame:frame]) {
[self addView];
}
return self;
}
-(void)addView{
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class])
owner:self
options:nil];
self.vView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[self addSubview:self.vView];
[self initView];
}
-(void)initView{
self.cvSets.delegate = self;
self.cvSets.dataSource = self;
[self setShadow:CGSizeMake(0,2) shadowRadius:4 shadowOpacity:0.1 shadowColor:[UIColor blackColor]];
[self.cvSets registerNib:[UINib nibWithNibName:NSStringFromClass([KWMClothingSetsCell class]) bundle:nil] forCellWithReuseIdentifier:NSStringFromClass([KWMClothingSetsCell class])];
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
layout.minimumLineSpacing = 20;
layout.sectionInset = UIEdgeInsetsMake(0, 20, 0, 0);
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.cvSets.collectionViewLayout = layout;
}
-(void)setProductArray:(NSArray *)productArray{
_productArray = productArray;
[self.cvSets reloadData];
}
-(void)setHeaderImage:(NSString *)headerImage{
_headerImage = headerImage;
NSURL *imageURL = [NSURL URLWithString:headerImage];
self.ivHeader.contentMode = UIViewContentModeScaleToFill;
[self.ivHeader sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"ic_loading"]];
}
#pragma mark - UICollectionViewDataSource
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
KWMClothingSetsCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([KWMClothingSetsCell class]) forIndexPath:indexPath];
BUYProduct *product = [self.productArray objectAtIndex:indexPath.row];
cell.product = product;
cell.isMore = indexPath.row == 9;
return cell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize size = CGSizeMake(66, 117);
return size;
}
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
if(self.productArray && self.productArray.count > 9){
return 10;
}
return self.productArray?self.productArray.count:0;
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row == 9){
[self.delegate kwm_gotoClothingSetsPage];
}else{
[self.delegate kwm_onClickProduct:self.productArray[indexPath.item]];
}
}
#pragma mark - action
-(IBAction) focusImageAction:(id)sender {
[self.delegate kwm_onClickFocusImage];
}
@end