首页 > 代码库 > iOS UITableView表视图(1)
iOS UITableView表视图(1)
//在.h文件中声明一下
//例如:@property(nonatomic,strong)UITableView *table;
//创建一个UITableView
self.table = [[UITableView alloc] initWithFrame:self.bounds style:(UITableViewStylePlain)];
//设置行的高度
self.table.rowHeight = 260.0;
//设置分割线的颜色
self.table.separatorColor = [UIColor redColor];
//设置分割线的格式
self.table.separatorStyle = UITableViewCellSeparatorStyleSingleLineEtched;
[self addSubview:self.table];
/*---------------------UITableViewDataSource的方法-------------------------*/
//设置在分区中有几行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 5;
}
//设置cell(cell 就是UITableView中的每一个单元格)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//创建cell
/*UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleSubtitle) reuseIdentifier:nil];
cell.textLabel.text = @"今天很开心";
cell.detailTextLabel.text = @"我中了500W";
cell.imageView.image = [UIImage imageNamed:@"DSC_8898.JPG"];*/
//考虑到如果数据多了,是不是得创建好多cell,所以咱们这里用了重用机制
//UITableViewCell是靠MutableSet来实现重用机制
//创建一个标识
static NSString *cell_id = @"a";
//创建cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cell_id];
//判断cell在MutableSet池中如果没有就重新创建
if (nil == cell)
{
cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleSubtitle) reuseIdentifier:cell_id];
}
//设置标题
cell.textLabel.text = @"今天很开心";
//设置副标题
cell.detailTextLabel.text = @"可以回家了弟弟";
//
return cell;
}
//设置 几个分区
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return self.groupArray.count;
}
//设置头部信息
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSArray *a = @[@"李",@"张"];
return a[section];
}
//设置底部信息
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
NSArray *a = @[@"李的版权",@"张的版权"];
return a[section];
}
/*------------------------UITableViewDelegate的方法---------------------*/
//点击cell的时候触发事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Hello,World");
}
//设置行高(好处就是可以设置每一行的高度)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{ //例如:想让第一行的高度改变
if (indexPath.row == 0)
{
return 100;
}
return 60.0;
}
//头标题高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 50;
}
//底部高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 50;
}
//在头标题里可以设置UIView的子类
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
//例如 设置一个button
UIButton *button = [UIButton buttonWithType:(UIButtonTypeSystem)];
button.backgroundColor = [UIColor orangeColor];
[button addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)];
return button;
}
//在头标题里可以设置UIView的子类(只要是UIView 的子类都可以在里面设置)
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
//例如 设置一张图片
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"DSC_8898.JPG"]];
return img;
}
iOS UITableView表视图(1)