セクション内の行数を指定する 以下の例では、最初のセクションは、2行のデータを表示し、次のセクションでも2行のデータを表示します。– (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
各セルの表示内容の設定「セルを生成(初期化)する時に呼ばれる」 以下の例では、最初のセクションの最初の行のテキストに”yamazon”と表示し、次の行に、”webTipsAroundMe”と表示します。同様に、二つ目のセクションには、”iPhoneApp”、”objective-C”と表示します。return の前の行は、各セルの背景を赤に設定しています。– (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
if (section == 0) {
return 2;
}
else if(section == 1){
return 2;
}
return [listOfGameMode count];
}
各セルの表示内容の設定「セルを表示する時に呼ばれる」 上記のメソッドと少し使い分けがややこしいですが、各セルの背景色などを設定するには以下のように「willDisplayCell」メソッドで実装したほうが良いようです。以下のメソッドでは、各奇数セルは背景色を白にし、偶数セルは、UIColorで指定した色(薄い水色)に設定しています。– (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @”Cell”;
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier]
autorelease];
}
// NSString *cellValue = [listOfGameMode objectAtIndex:indexPath.row];
// cell.textLabel.text = cellValue;
if(indexPath.section == 0) {
if(indexPath.row == 0) {
cell.textLabel.text = @”yamazon”;
} else if(indexPath.row == 1){
cell.textLabel.text = @”webTipsAroundMe”;
}
} else if(indexPath.section == 1) {
if(indexPath.row == 0) {
cell.textLabel.text = @”iPhoneApp“;
} else if(indexPath.row == 1){
cell.textLabel.text = @”objective-C“;
}
}
cell.contentView.backgroundColor = [UIColor redColor];
return cell;
}
セクションのヘッダーのタイトルを設定 以下の例では、最初のセクションでは、yamazonという文字がセクションのヘッダー部に表示されます。その他のセクションでは、WTAMが表示されます。– (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row % 2 == 0) {
cell.backgroundColor = [UIColor whiteColor];
}
else {
cell.backgroundColor = [UIColor colorWithHue:0.61
saturation:0.09
brightness:0.99
alpha:1.0];
}
}
セクションのフッター部のタイトルを設定 以下の例では、セクションのフッター部にFooterという文字列が表示されます。– (NSString *)tableView:(UITableView *)tableView
titleForHeaderInSection:(NSInteger)section{
if(section == 0) {
return @”yamazon”;
}
return @”WTAM“;
}
セルが選択された時の設定– (NSString *)tableView:(UITableView *)tableView
titleForFooterInSection:(NSInteger)section {
return @”Footer”;
}
セクションのヘッダー部の設定– (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
(NSIndexPath *)indexPath {
}
セクションのヘッダーの高さを設定– (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
}
各行の高さの設定– (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 30;
}
– (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
if(indexPath.row == 0) {
return 80; // 一番上のセクションの一番上の行の高さは80ピクセルにします。
}
} else if (indexPath.section == 1) {
return 60; // 二番目のセクションの行の高さは全て60ピクセルにします。
}
return 45; // 上で指定しなかった全てのセクション・行の高さは全て45ピクセルにします。
}
この投稿へのコメント
コメントはまだありません。