UITableView是这样使用滴:
#define SCREEN_WIDHT [[UIScreen mainScreen] bounds].size.width
需要实现俩个代理:
<UITableViewDataSource, UITableViewDelegate>
// 存放Cell上各行textLabel值
@property (nonatomic, copy)NSMutableArray * textLabelArray;
//设置要显示的数据
NSMutableArray *array =[[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4", nil];
_textLabelArray = array;
UITableView *tableview = [[UITableView alloc]initWithFrame:CGRectMake(10, 74, SCREEN_WIDHT-20, 200) style:UITableViewStylePlain];
tableview.delegate = self;
tableview.dataSource = self;
[self.view addSubview:tableview];
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// 定义一个标识符,是系统用来匹配table各行cell的判断标准
static NSString *cellIdent = @"cellIdent";
// 从缓存队列中取出复用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdent];
// 如果队列中cell为空,即无复用的cell,则对其进行初始化
if (cell==nil) {
// 初始化
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdent];
// 定义其辅助样式
cell.accessoryType = UITableViewCellStyleDefault;
}
// 设置cell上文本内容
cell.textLabel.text = [_textLabelArray objectAtIndex:indexPath.row];
return cell;
}
//可以为不同的分区设置不同的页眉
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return @"好吧这是页眉";
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
// 取消选中效果,点击后恢复原状
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"点击了第%ld个",(long)indexPath.row+1);
}
//可以删除
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
// 设置删除按钮标题
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"删除";
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
// 从数据中删除
[self.textLabelArray removeObjectAtIndex:indexPath.row];
// 从列表中删除
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}