[OC] UITableView 與 UItableViewCell 的使用

  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;
}
相關文章
相關標籤/搜索