iOS UITableView表視圖(1) – iPhone手機開發技術文章 iPhone軟體開發教學課程

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

}

發佈留言