//在.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;
}