tableViewの理解とtableViewセルの使用
7457 ワード
tableViewのフォーマットの違い
UItableViewStyleGroup方式を選択するとすべて表示され、UItableViewStylePlainは上に引っ張るときにグループの頭の上にUItableViewStyleGroupスタイルを使用すると、上にheadViewが表示され、約35ピクセルを占めています.
tableViewセルの補助ビュー##
cellをクリックしても効果はありません
分割線を隠す
余計なセルを隠す
cellの多重化
1組のcellについて、1つのcellの背景色を変更するには、cellのtagでマークし、例えば
タグが付けられていない場合は、cellの多重化時に他のcellが同じreuseIdentifierであるため再利用されるとindexPath.rowで判断します.
次にcellをカスタマイズする方法を示します.cellはreuseIdentifierで識別子を再利用することに注意します.
UItableViewStyleGroup方式を選択するとすべて表示され、UItableViewStylePlainは上に引っ張るときにグループの頭の上にUItableViewStyleGroupスタイルを使用すると、上にheadViewが表示され、約35ピクセルを占めています.
tableView.tableHeaderView =
[[UIView alloc initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];//CGFLOAT_MIN ,
頭のheadViewを取り除くことができますtableViewセルの補助ビュー##
cell.accessoryType = UITableViewCellAccessoryNone;//cell
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;//cell , ;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;//cell button;
cell.accessoryType = UITableViewCellAccessoryCheckmark;//cell
cellをクリックしても効果はありません
cell.selectionStyle = UITableViewCellSelectionStyle.None
分割線を隠す
tableView.separatorStyle = UITableViewCellSeparatorStyle.None
余計なセルを隠す
tableView.tableFooterView = UIView(frame: CGRectZero)// cell
cellの多重化
1組のcellについて、1つのcellの背景色を変更するには、cellのtagでマークし、例えば
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
cell.myLabel.text = [NSString stringWithFormat:@" Label%ld", indexPath.row];
cell.tag = indexPath.row;
if (cell.tag == 5) {
cell.imageVIew.backgroundColor = [UIColor greenColor];
}
if (cell.tag != 5) {
cell.imageVIew.backgroundColor = [UIColor whiteColor
}
return cell;
}
タグが付けられていない場合は、cellの多重化時に他のcellが同じreuseIdentifierであるため再利用されるとindexPath.rowで判断します.
次にcellをカスタマイズする方法を示します.cellはreuseIdentifierで識別子を再利用することに注意します.
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *str = @"cell";
if(indexPath.section == 0){
UITableViewCell *cell01 = [_tableView dequeueReusableCellWithIdentifier:@"cell01"];
if(cell01 == nil){
cell01 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell01"];
// cell01.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
UIButton *btn2 = [[UIButton alloc] initWithFrame:CGRectMake(135, 70, 50, 25)];
btn2.layer.masksToBounds = YES;
btn2.layer.borderWidth = 0.9;
btn2.layer.borderColor = [UIColor grayColor].CGColor;
btn2.layer.cornerRadius = 10;
[btn2 setTitle:@"Lv10" forState:UIControlStateNormal];
[btn2 setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(330, 20, 80, 40)];
btn.layer.masksToBounds = YES;
btn.layer.borderWidth = 0.5;
btn.layer.borderColor = [UIColor grayColor].CGColor;
btn.layer.cornerRadius = 5;
[btn setTitle:@" " forState:UIControlStateNormal];
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@" "] forState:UIControlStateNormal];
[btn setTitle:@" " forState:UIControlStateSelected];
// [btn setImage:nil forState:UIControlStateSelected];
[btn addTarget:self action:@selector(pressRight:) forControlEvents:UIControlEventTouchUpInside];
[cell01.contentView addSubview:btn2];
[cell01.contentView addSubview:btn];
}
cell01.textLabel.text = @" ";
cell01.imageView.image = [UIImage imageNamed:@" .jpeg"];
return cell01;
}