SDCollectionViewCell.m
3.63 KB
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
//
// SDCollectionViewCell.m
// SDCycleScrollView
//
// Created by aier on 15-3-22.
// Copyright (c) 2015年 GSD. All rights reserved.
//
/*
*********************************************************************************
*
* 🌟🌟🌟 新建SDCycleScrollView交流QQ群:185534916 🌟🌟🌟
*
* 在您使用此自动轮播库的过程中如果出现bug请及时以以下任意一种方式联系我们,我们会及时修复bug并
* 帮您解决问题。
* 新浪微博:GSD_iOS
* Email : gsdios@126.com
* GitHub: https://github.com/gsdios
*
* 另(我的自动布局库SDAutoLayout):
* 一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于
* 做最简单易用的AutoLayout库。
* 视频教程:http://www.letv.com/ptv/vplay/24038772.html
* 用法示例:https://github.com/gsdios/SDAutoLayout/blob/master/README.md
* GitHub:https://github.com/gsdios/SDAutoLayout
*********************************************************************************
*/
#import "SDCollectionViewCell.h"
#import "UIView+SDExtension.h"
@implementation SDCollectionViewCell
{
__weak UILabel *_titleLabel;
UIView *_bgView;
}
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setupImageView];
[self setupTitleLabel];
[self setupTitleBgView];
}
return self;
}
- (void)setTitleLabelBackgroundColor:(UIColor *)titleLabelBackgroundColor
{
_titleLabelBackgroundColor = titleLabelBackgroundColor;
_titleLabel.backgroundColor = titleLabelBackgroundColor;
}
- (void)setTitleLabelTextColor:(UIColor *)titleLabelTextColor
{
_titleLabelTextColor = titleLabelTextColor;
_titleLabel.textColor = titleLabelTextColor;
}
- (void)setTitleLabelTextFont:(UIFont *)titleLabelTextFont
{
_titleLabelTextFont = titleLabelTextFont;
_titleLabel.font = titleLabelTextFont;
}
- (void)setupImageView
{
UIImageView *imageView = [[UIImageView alloc] init];
_imageView = imageView;
[self.contentView addSubview:imageView];
}
- (void)setupTitleLabel
{
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.numberOfLines = 2;
_titleLabel = titleLabel;
_titleLabel.hidden = YES;
[self.contentView addSubview:titleLabel];
}
- (void)setTitle:(NSString *)title
{
_title = [title copy];
_titleLabel.text = [NSString stringWithFormat:@" %@", title];
if (_titleLabel.hidden) {
_titleLabel.hidden = NO;
}
}
-(void)setTitleLabelTextAlignment:(NSTextAlignment)titleLabelTextAlignment
{
_titleLabelTextAlignment = titleLabelTextAlignment;
_titleLabel.textAlignment = titleLabelTextAlignment;
}
- (void)layoutSubviews
{
[super layoutSubviews];
if (self.onlyDisplayText) {
_titleLabel.frame = self.bounds;
} else {
_imageView.frame = self.bounds;
CGFloat titleLabelW = self.sd_width;
CGFloat titleLabelH = _titleLabelHeight;
CGFloat titleLabelX = 10;
CGFloat titleLabelY = self.sd_height - titleLabelH - 10;
_titleLabel.frame = CGRectMake(titleLabelX, titleLabelY, titleLabelW-2*titleLabelX, titleLabelH);
_bgView.frame = CGRectMake(0, _titleLabel.sd_y, [UIScreen mainScreen].bounds.size.width, _titleLabel.sd_height + 10);
}
}
- (void)setupTitleBgView
{
_bgView = [[UIView alloc] initWithFrame:CGRectMake(0, _titleLabel.sd_y, [UIScreen mainScreen].bounds.size.width, _titleLabel.sd_height + 10)];
_bgView.backgroundColor = [[UIColor blackColor]colorWithAlphaComponent:0.3];
[self.contentView addSubview:_bgView];
[self.contentView insertSubview:_bgView atIndex:1];
}
@end