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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
//
// GXFTableViewCell.m
// XFFruit
//
// Created by freecui on 15/9/1.
// Copyright (c) 2015年 Xummer. All rights reserved.
//
#import "GXFTableViewCell.h"
@interface GXFTableViewCell ()
@end
@implementation GXFTableViewCell
//带有placeholder和label
- (instancetype)initWithStyle:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier
textFieldPlaceholder:(NSString *)placeholder
hasLable:(BOOL)hasLbl
backLableText:(NSString *)lblText {
self = [self initWithStyle:style reuseIdentifier:reuseIdentifier textFieldPlaceholder:placeholder isEdit:YES];
UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(self.width - 25, 0, 25, self.height)];
lbl.textAlignment = NSTextAlignmentLeft;
lbl.text = lblText;
[self.contentView addSubview:lbl];
return self;
}
//@"lblCell" :无箭头cellstyle为默认 :带有placeholder和label ,,没箭头可编辑
- (instancetype)initWithreuseIdentifier: (NSString *)reuseIdentifier
textFieldPlaceholder: (NSString *)placeholder
// hasLable: (BOOL)hasLbl
backLableText: (NSString *)lblText {
self = [self initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier textFieldPlaceholder:placeholder hasLable:YES backLableText:lblText];
return self;
return self;
}
#pragma 共同调用原始的初始化方法待有textfield
//带有placeholder分两张情况 :1),有箭头 2)没箭头可编辑
- (instancetype)initWithStyle:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier
textFieldPlaceholder: (NSString *)placeholder
isEdit:(BOOL)isEdit {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (!self) {
return nil;
}
UITextField *textF = [[UITextField alloc]initWithFrame:CGRectMake(self.width * 0.2, 0, self.width * 0.8 - 30, self.height)];
textF.textAlignment = NSTextAlignmentRight;
textF.placeholder = placeholder;
textF.enabled = isEdit;
self.f_textField = textF;
[self.contentView addSubview:_f_textField];
return self;
}
//@"arrowCell":带有placeholder :1),有箭头不可编辑
- (instancetype)initAccessorWithreuseIdentifier: (NSString *)reuseIdentifier
textFieldPlaceholder: (NSString *)placeholder {
self = [self initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier textFieldPlaceholder:placeholder isEdit:NO];
self.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return self;
}
//// @"noLblCell" :带有placeholder :2)没箭头可编辑
- (instancetype)initEditNoAccessorWithreuseIdentifier: (NSString *)reuseIdentifier
textFieldPlaceholder: (NSString *)placeholder {
self = [self initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier textFieldPlaceholder:placeholder isEdit:YES];
return self;
}
// cell 一行中显示的内容
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier contentArray:(NSArray *)array {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (!self) {
return nil;
}
[self p_setSubViews:array];
return self;
}
- (void)p_setSubViews: (NSArray *)array{
for (NSInteger i = 0; i < array.count; i++) {
CGFloat lblW = self.width * 1.0 / 3.0;
CGFloat lblX = lblW * i;
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(lblX,0,lblW,self.height)];
label.font = FontSize(15);
label.textAlignment = NSTextAlignmentCenter;
label.textColor = HexColor(@"bbbbbb");
label.text = array[i];
[self.contentView addSubview:label];
}
}
- (void)awakeFromNib {
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
@implementation GXFTableViewCell (Frame)
//带有placeholder和label
- (instancetype)initWithWidth: (CGFloat)width
Style:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier
textFieldPlaceholder:(NSString *)placeholder
hasLable:(BOOL)hasLbl
backLableText:(NSString *)lblText {
self = [self initWithWidth:width Style:style reuseIdentifier:reuseIdentifier textFieldPlaceholder:placeholder isEdit:YES];
self.width = width;
UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(self.width - 25, 0, 25, self.height)];
lbl.textAlignment = NSTextAlignmentLeft;
lbl.text = lblText;
[self.contentView addSubview:lbl];
return self;
}
#pragma 共同调用原始的初始化方法待有textfield
//带有placeholder分两张情况 :1),有箭头 2)没箭头可编辑
- (instancetype)initWithWidth: (CGFloat)width
Style:(UITableViewCellStyle)style
reuseIdentifier:(NSString *)reuseIdentifier
textFieldPlaceholder: (NSString *)placeholder
isEdit:(BOOL)isEdit {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (!self) {
return nil;
}
self.width = width;
UITextField *textF = [[UITextField alloc]initWithFrame:CGRectMake(self.width * 0.2, 0, self.width * 0.8 - 30, self.height)];
textF.textAlignment = NSTextAlignmentRight;
textF.placeholder = placeholder;
textF.enabled = isEdit;
self.f_textField = textF;
[self.contentView addSubview:_f_textField];
return self;
}
//// cell 一行中显示的内容
//- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier contentArray:(NSArray *)array {
// self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
// if (!self) {
// return nil;
// }
// [self p_setSubViews:array];
// return self;
//}
@end