对于系统自带的cell我们只能简单的设置其属性,不能添加多个UI控件,这对于一些界面的开发来说是很麻烦的事情
和上述图片所示 只能简单的添加一些文字呀什么的,不过iOS提供了自定义的Cell创建来帮助开发者更好的使用
通过代码自定义cell
property (nonatomic, strong) UILabel* labelOne;
@property (nonatomic, strong) UILabel* labelTwo;
@property (nonatomic, strong) UILabel* labelThree;
@property (nonatomic, strong) UILabel* labelFour;
@property (nonatomic, strong) UILabel* labelFive;
@property (nonatomic, strong) UILabel* labelSix;
@property (nonatomic, strong) UILabel* labelSeven;
@property (nonatomic, strong) UILabel* labelEight;
@property(nonatomic, strong) UIButton* buttonOne;
@property(nonatomic, strong) UIButton* buttonTwo;
@property(nonatomic, strong) UIButton* buttonThree;
@property (strong, nonatomic) UIImageView* imageViewOne;
@property (strong, nonatomic) UIImageView* imageViewTwo;
@property (strong, nonatomic) UIImageView* imageViewThree;
FirstTableViewCell.m
文件中主要实现以下两种方法- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if ([self.reuseIdentifier isEqualToString:@"five"]) {
_labelOne = [[UILabel alloc] init];
_labelOne.text = @"创建歌单(3个)";
_labelOne.textColor = [UIColor grayColor];
_labelOne.font = [UIFont systemFontOfSize:13];
}
// 添加到Cell上
[self.contentView addSubview:_labelOne];
这样就把一个简单的自定义属性添加完成
- (void)layoutSubviews {
_labelOne.frame = CGRectMake( (self.frame.size.width) / 4 - 80, (self.frame.size.height) / 3 - 70 , 160, 20);
}
@interface UIViewSet : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property( nonatomic, strong) UITableView* tableView;
@end
self.tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview: _tableView];
if ([self.reuseIdentifier isEqualToString:@"five"])
的标签是要一致的,这样系统才能根据标签来运行需要的Cell[_tableView registerClass:[FristTableViewCell class] forCellReuseIdentifier:@"five"];
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 70;
}
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
FiveTableViewCell* cell = [self.tableView dequeueReusableCellWithIdentifier:@"five" forIndexPath:indexPath];
// cell.backgroundColor = [UIColor redColor];
cell.accessoryType = UITableViewCellAccessoryNone;
return cell;
}
NSString* str = @"cell 3G";
UITableViewCell* cell = [_tableView dequeueReusableCellWithIdentifier:str];
if(cell == nil) {
cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:str];
}