UITableView
//UIViewController里添加一个UITableView@interface ViewController : UIViewController@property (nonatomic, strong) UITableView * tableView;@end//初始化,当然还有其他初始方法,不赘述了_tableView = [[UITableView alloc] init];//设置代理_tableView.delegate = self;_tableView.dataSource = self;//界面添加[self.view addSubview:_tableView];//设置尺寸,当然也可以通过masonry之类的添加约束[_tableView setFrame:self.view.frame];
//各种属性设置//分割线(无分割线)_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;//背景颜色_tableView.backgroundColor = [UIColor WhiteColor];
//section数目- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 2;}//每个section有几个单元格- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 3;} /////单元格具体实现- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //注意单元格的复用 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]; } return cell;}//单元格高度- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 40;}//点击单元格触发的事件- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSLog(@"你点了一个cell");} //section头部的具体实现- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ return [[UIView alloc] init];}//section头部高度- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 20;} //section footer的具体实现- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ return [[UIView alloc] init];}//section footer 高度- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return 20;}
// 设置 cell 是否允许左滑-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return true;}// 设置默认的左滑按钮的title-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath { return @"按钮钮钮";}// 点击左滑出现的按钮时触发-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"点击左滑出现的按钮时触发");}// 左滑结束时调用(只对默认的左滑按钮有效,自定义按钮时这个方法无效)-(void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"左滑结束");}
新建的UITableViewCell中加入这一句作为cell的初始化函数
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { //在这里写入定制cell的内容 } return self;}