UITableView 函數
//UIViewController裏添加一個UITableView @interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> @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的初始化函數atom
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { //在這裏寫入定製cell的內容 } return self; }