UI之UITableView和UITableViewCell

一、UITableView

1.UITableView是我们经常需要用到的UI控件,它继承于UIScrollView类,因此可以进行垂直滚动。
2.要想实现UITableView必须遵守UITableViewDelegate和UITableViewDataSource两个协议。
创建UITableView:

// 初始化tableView
personalTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT) style:UITableViewStyleGrouped];
// 将tableView的代理给控制器本身
personalTableView.delegate = self;
personalTableView.dataSource = self;
// 设置分割线样式
personalTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
[self.view addSubview:personalTableView];

UITableViewDataSource协议必须要实现的两个方法:

1.每个部分包含的行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
2.每一行要显示的cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

二、UITableViewCell

UITableView的每一个数据对应的单元格称为cell,是UITableViewCell类的对象,继承于UIView类。
采用可重用标志创建每行要显示的cell,这样当一个cell滑出屏幕另一个cell出现时并不是销毁再重新创建,而是从重用池中获取:

- (UITableViewCell *) tableView : (UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier : CellIdentifier];
    if (!cell) {     
    cell = [[UITableViewCell alloc] initWithStyle : UITableViewCellStyleSubtitle reuseIdentifier: CellIdentifier];
    }
    cell.imageView.image = [UIImage imageNamed:@"the ordinary world"];
    cell.textLabel.text = [array objectAtIndex : [indexPath row]]; 
    cell.detailTextLabel.text = @"作者:路遥";
    return cell;
}

你可能感兴趣的:(UI之UITableView和UITableViewCell)